javascript - 如何使用javascript对数组的一部分进行排序?

标签 javascript arrays

我有一个包含许多对象的数组。我正在尝试按升序对数组的前半部分进行排序。数组的后半部分也按升序排列。下面的代码是一个数组示例以及我的方法。我在想是否有一种更聪明的方法来锐化代码并获得相同的结果?有人可以帮忙吗?提前致谢!

var data = [
    {id:1, x: 33},
    {id:2, x: 22},
    {id:3, x: 11},
    {id:4, x: 3},  
    {id:5, x: 2},
    {id:6, x: 1}  
];
var data1 = [];
for(var i=0; i<3; i++){
  data1.push(data[i]);
}
data1.sort (function(a,b) { return a.x - b.x; });

var data2 = [];
for(var i=3; i<6; i++){
  data2.push(data[i]);
}
data2.sort (function(a,b) { return a.x - b.x; });

data = data1.concat(data2);
console.log(data);

最佳答案

使用拼接会收紧它:

var data = [
    {id:1, x: 33},
    {id:2, x: 22},
    {id:3, x: 11},
    {id:4, x: 3},  
    {id:5, x: 2},
    {id:6, x: 1}  
];

// splice out and sort the first half of data
var data1 = data.splice(0,data.length / 2);
data1.sort (function(a,b) { return a.x - b.x; });

// sort the second half
data.sort (function(a,b) { return a.x - b.x; });

data = data1.concat(data);
console.log(data);

关于javascript - 如何使用javascript对数组的一部分进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36294175/

相关文章:

javascript - 更改 Sublime 3 中 JS 变量的颜色

javascript - Protractor 测试不适用于 IE,但适用于 FF/Chrome/Safari

java - 一个数组是另一个数组的子集

c - 初始化一个未知数量和未知长度的字符串数组

javascript - 检查 div 内容是否包含数组中的单词并替换它

javascript - 使用for循环生成文本框

javascript - Jquery淡化图像和下拉菜单

javascript - JS Regex test()始终返回true

c - 如何在 C 中用整数打印和填充 void * 数组

java - 使用Java读取文件时如何处理新行