Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript基于值重新排列数组索引_Javascript - Fatal编程技术网

javascript基于值重新排列数组索引

javascript基于值重新排列数组索引,javascript,Javascript,我有一个像这样的数组 var array = [{id:5},{id:1},{id:2}] 我想根据id值从最低到最高重新排列数组索引,使其成为 var newarray = [{id:1},{id:2},{id:5}] 我一直在研究sort(),但我不太理解它背后的逻辑。要实现这一点,可以使用本机数组函数,将回调作为比较函数传递 var数组=[{id:5},{id:1},{id:2}]; array.sort(函数(a,b){ 返回a.id-b.id; }); console.log(数

我有一个像这样的数组

var array = [{id:5},{id:1},{id:2}]
我想根据id值从最低到最高重新排列数组索引,使其成为

var newarray = [{id:1},{id:2},{id:5}]

我一直在研究sort(),但我不太理解它背后的逻辑。

要实现这一点,可以使用本机数组函数,将回调作为比较函数传递

var数组=[{id:5},{id:1},{id:2}];
array.sort(函数(a,b){
返回a.id-b.id;
});

console.log(数组)//[{“id”:1},{“id”:2},{“id”:5}]
要实现这一点,可以使用本机数组函数,将回调作为比较函数传递

var数组=[{id:5},{id:1},{id:2}];
array.sort(函数(a,b){
返回a.id-b.id;
});

console.log(数组)//[{“id”:1},{“id”:2},{“id”:5}]
array.sort((a,b)=>a.id-b.id)
解释得很好。@AndrewLi是的,唯一的区别是数组包含的对象将返回a.id-b,而不是返回a-b。id@RohanRao我从来没有说过文档给出了确切的解决方案;我说它解释了排序功能。他们可以将其应用于他们的needs@choz做一个回答,这样我就可以接受它。
array.sort((a,b)=>a.id-b.id)
解释得很好。@AndrewLi是的,唯一的区别是不是返回a-b,因为数组包含的对象你会返回a.id-b。id@RohanRao我从来没有说过文档给出了确切的解决方案;我说它解释了排序功能。他们可以将其应用于他们的needs@choz回答一下,这样我就可以接受了