gpt4 book ai didi

javascript - 高性能 - 在对键进行排序时将对象转换为数组

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

我有以下对象:

var myObj = {
"4":{//The key is a number String.
id:4,name:aaaa
}
"1":{
id:1,name:a
}
"2":{
id:2,name:aa
}
"3":{
id:3,name:aaa
}
}

我想将其转换为以下数组:

var myArr = [{id:1,name:a},{id:2,name:aa},{id:3,name:aaa},{id:4,name:aaaa}]

我的问题更多的是一个语法问题,下面的伪代码可以用Javascript来完成吗:

1. Create an array with the size of Object.keys(myObj).length.
2. For each key in myObj
2.1 set myArr[key] = myObj[key]

实现该目标的最快方法是什么?

顺便说一句,它用于我的 node.js 服务器,而不是浏览器客户端。

最佳答案

我认为任何操作都不会带来任何真正的性能提升。
此外,由于 JavaScript 采用“引用 -”方法,因此真正的打击是创建一个数组并对其进行排序,因为您并没有真正深入复制对象。它不应该是真正的性能影响,因为在您的示例中数组很小。

在这种情况下,更喜欢清晰的代码而不是伪代码:

var arr = [];
for (var o in myObj){
arr.push(myObj[o]);
}
arr.sort(function(a,b){
return a.id-b.id;
});

关于javascript - 高性能 - 在对键进行排序时将对象转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34413794/

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