gpt4 book ai didi

Javascript ES6 - 映射对象以生成新数组会丢失对象中元素的顺序

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

我有一个包含团队列表的JSON对象,每个团队都有一个teamCrimeCategorySum,它是一个键值对的对象,其中每个键是一个犯罪类别,每个值是总数该类别的犯罪。它按字母顺序排列,看起来像这样......

alcohol:0
animal abuse:0
animal cruelty:0
animal neglect:0
assault:7
attempted murder:0
battery:1

我正在循环它以获得一个仅包含值的数组,如下所示......

teamList.map(team => {
const newArray = Object.keys(team['teamCrimeCategorySum']).map(key => {
return team['teamCrimeCategorySum'][key]
})
})

这将产生一个原始顺序丢失的数组。上面的对象正在生成这个...

[18, 6, 1, 1, 7, 2, 3, ...]

我想保留顺序,这样上面的对象应该生成...

[0, 0, 0, 0, 7, 0, 1, ...]

最佳答案

您可以使用下面的代码生成一个保留对象原始顺序的数组

  const newArray = [];
for ( let key in tempList) {
if(tempList.hasOwnProperty(key)) {
newArray.push(tempList[key]);
}
}

或者,如果您想使用 Object.keys 和 Array.map,首先对键进行排序,然后像下面一样调用 map

  Object.keys(tempList).sort().map(...)

关于Javascript ES6 - 映射对象以生成新数组会丢失对象中元素的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42590588/

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