您好,我想弄清楚如何对此进行排序。下面是我的数组样本。
product_sort_arr = [
[{name:'Particle'},link:value}],
[{name:'Bio-Part112',link:value}],
[],
etc . . .
];
我希望你能看到样品。
到目前为止,我已经尝试过使用它仍然无法正常工作。仍在努力解决这个问题。任何帮助都会很棒
product_sort_arr.sort(function(a, b) {
return a.name - b.name;
})
预期回报
product_sort_arr = [
[{name:'Bio-Part112'},link:value}],
[{name:'Particle',link:value}],
[],
etc . . .
];
答案 0 :(得分:2)
我不确定你的数组应该是什么,但现在它定义了一些错误。这个例子很有用。我希望它会让你朝着正确的方向前进。
var product_sort_arr = [
[{name:'Particle', link:'value'}],
[{name:'Bio-Part112',link:'value'}],
];
product_sort_arr.sort(function(a, b) {
if (a[0].name > b[0].name) {
return 1;
}
if (a[0].name < b[0].name) {
return -1;
}
return 0;
});
for (i=0;i<product_sort_arr.length;i++) {
console.log(product_sort_arr[i][0].name);
}
检查JSFiddle
请注意,数组是一个对象数组,因此您可以使用product_sort_arr[0][0].name
和product_sort_arr[1][0].name
答案 1 :(得分:0)
你的数组是不对称的,我创建了这个演示,它会根据name
var p = [
[{name:'Particle',link:'valueA'}],
[{name:'Bio-Part112',link:'valueB'}],
];
console.log(p);
p.sort(function(a,b) {
return a[0].name > b[0].name;
});
console.log(p);