У меня есть массив, содержащий много объектов. Я пытаюсь сортировать первую половину массива с возрастающим порядком. А вторая половина массива с восходящим порядком тоже. Ниже приведен пример массива и мой способ сделать это. Я думаю, есть ли более умный способ обострить код и получить тот же результат? Может ли кто-нибудь помочь? Заранее спасибо!Как отсортировать часть массива с помощью javascript?
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);
http://codereview.stackexchange.com –
вы можете сказать нам, как вы хотите заказать? по id или x? – JordanHendrix
FYI, вы можете немного сократить его, избавившись от циклов 'for' и вместо этого сделайте следующее:' var data1 = data.splice (data.length/2); var data2 = data' –