gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 18:10:06 25 4
gpt4 key购买 nike

我有以下对象数组。

response: [0] 
Data: '455'
[1]
Data: '456'
[2]
Data: '457'


var normalizedArray = newlist.map(function (obj) {
return obj.Data;
});

我可以使用上面的函数将上面的对象数组转换为数组“notmalizedArray”。这有效并给出了以下输出。

normalizedArray= ['455', '456', '457'];

如果我有以下对象数组,而不是只有 1 个元素。

response: [0] 
Data: '455'
Note: 'tre'
Id: '4'
[1]
Data: '456'
Note: 'bre'
Id: '5'
[2]
Data: '457'
Note: 'cre'
Id: '6'

我想要上述对象数组的以下数组输出。

normalizedArray = ['455', 'tre', '4', '456', 'bre', '5', '457', 'cre', '6']

有人可以告诉我应该在下面的函数中更改什么才能实现上面显示的标准化数组。

var normalizedArray = newlist.map(function (obj) {
return obj.Data;
});

最佳答案

最简单的方法是构建一个数组数组,然后将它们展平。

首先,让我们像您一样使用 map 构建数组:

// ES6
let normalizedArr = response.map(function({Data, Note, Id}) {
return [Data, Note, Id];
});
// before ES6
var normalizedArr = response.map(function(obj) {
return [obj.Data, obj.Note, obj.Id];
});

然后我们将其压平。没有 flatten Javascript 函数:我们只是使用 Array#concat 将每个数组依次附加到一个空数组上。 :

// ES6
let finalArr = [].concat(...normalizedArr);
// before ES6
var finalArr = Array.prototype.concat.apply([], normalizedArr);

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

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