gpt4 book ai didi

javascript - 如何将 JavaScript 对象值转换为数组

转载 作者:行者123 更新时间:2023-11-30 08:19:28 25 4
gpt4 key购买 nike

我需要编写一个函数来转换这样的对象:

const foodList = {fruit: {apples: true, pears: false, berries: true}, dairy: {milk: true, cheese: false}, vegetables: {}}
console.log(foodList)

进入这个:

const result = {fruit: ['apples', 'berries'], dairy: ['milk']}
console.log(result)

我正在尝试将嵌套值转换为 food 键等于 true 的数组。

最佳答案

您可以使用Object.entries 将对象转换为数组。使用reduce 对数组进行循环汇总。使用 Object.keysfilter 获取具有真实值的键。

const foodList = {"fruit":{"apples":true,"pears":false,"berries":true},"dairy":{"milk":true,"cheese":false},"vegetables":{}}

const result = Object.entries(foodList).reduce((c, [k, v]) => {
let t = Object.keys(v);
if (t.length) c[k] = t.filter(o => v[o]);
return c;
}, {});

console.log(result);

关于javascript - 如何将 JavaScript 对象值转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56248632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com