Раньше мне удавалось преобразовать данные объекта в форму массива. А что, если у меня есть такие данные, и я хочу получить только те данные, значение которых истинно?
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.