gpt4 book ai didi

javascript - 如何将对象数组返回到数组中?

转载 作者:行者123 更新时间:2023-12-03 05:04:16 26 4
gpt4 key购买 nike

我一直在尝试使用map/filter/reduce 函数,并且我想放弃使用for 循环。

我想转动对象数组

var foo = [{"z":5, "y":10, "x":15}, {"z":30, "y":40, "x":50}];

转换为多维数组。基本上最终的输出应该是 [[5, 10, 15], [30, 40, 50]],没有对象,只有数组。我知道如何对单个对象执行此操作:

Object.keys(foo[0]).map(function(key) { 
return foo[0][key];
});

这给了我第一个数组 [5, 10, 15]。但我希望它迭代其余部分,所以我知道我需要一个 .map 函数。到目前为止我已经:

foo.map(function(bar) {
var foobar = Object.keys(bar).map(function(key){
return foo[key];
});
return foo;
});

谁能解释一下我做错了什么

最佳答案

有一个非常简单的方法可以做到这一点:

var newFoo = foo.map(el=>Object.values(el));

这是现代的 ES2017 代码。 Object.values获取数组中对象的值。代码表示“对于 foo 中的每个元素,获取对象的值并将它们返回到数组中”。

您可以在 2017 年之前的代码中使用如下代码来执行此操作:

var newFoo = foo.map(function(el) {
var values = [];
for (var key in el) {
if (el.hasOwnProperty(key)) {
values.push(el[key]);
}
}
return values;
});

关于javascript - 如何将对象数组返回到数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42078970/

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