gpt4 book ai didi

javascript - 获取类似多维数组的对象中的项目

转载 作者:行者123 更新时间:2023-12-04 08:46:17 24 4
gpt4 key购买 nike

我有以下变量:

> let location = {0: {1: {name: 'Fred', age: 20}, 5: {name: 'Ema', age: 55}}, 9: {3: {name: 'John', age: 29}}};
我想得到其中的项目:
> console.log(get_items(location));
[{name: 'Fred', age: 20}, {name: 'Ema', age: 55}, {name: 'John', age: 29}]
我编写了以下函数:
function get_items(location) {
return _.values(location).reduce((items, item)=> items.concat(_.values(item)), []);
}
但是我想知道这个问题是否有更优雅的解决方案。

最佳答案

你可以用 Array#flatMap 做到这一点和 Object#values

  • Object#values将提取外部对象的值:
  • Array#flatMap通过应用 Object#values 提取值后,会将嵌套对象映射并展平为单个对象数组。再次为每个对象:

  • let data = {0: {1: {name: 'Fred', age: 20}, 5: {name: 'Ema', age: 55}}, 9: {3: {name: 'John', age: 29}}};
    const transform = (data) => Object.values(data).flatMap(Object.values);

    console.log(transform(data));

    关于javascript - 获取类似多维数组的对象中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64302727/

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