Раньше мне удавалось преобразовать данные объекта в форму массива. А что, если у меня есть такие данные, и я хочу получить только те данные, значение которых истинно?
const learnedStacks = { "ReactJS" : true, "NodeJS": true, "ExpressJS" : true, "AngularJS": false, "VueJS": false, "MySQL": true, };
Используя метод Object.entries()
, результат массива можно отфильтровать по filter()
.
const learnedStacks = { "ReactJS" : true, "NodeJS": true, "ExpressJS" : true, "AngularJS": false, "VueJS": false, "MySQL": true, }; const items = Object.entries(learnedStacks).filter(([key, value]) => value); const stacks = Array.from(items, arr => arr[0]); console.log(items); console.log(stacks); //[["ReactJS", true], ["NodeJS", true], ["ExpressJS", true], ["MySQL", true]] //["ReactJS", "NodeJS", "ExpressJS", "MySQL"]
filter()
отфильтрует только те пары key-value
, которые имеют значение true
, и вернет их в переменные элементы. Тогда Array.from()
вернет только key
.