我有两个像这样的数组;
var a = [5,3,1,2,4]
var val = [{id: 'no5'}, {id: 'no3'}, {id: 'no1'}, {id: 'no2'}, {id: 'no4'}]
他们互相匹配索引。 a[i] == val[i]
但是有些情况下我需要对a
进行排序;
a.sort(function(a,b){ return a-b }) // a = [1,2,3,4,5]
我的问题是,如何重新索引a
以使其与val
的索引匹配?
答案 0 :(得分:0)
val.sort(function(a,b){
return a.id.slice(2) - b.id.slice(2);
});
编辑:我误解了这个问题,我认为OP希望以与val
相同的方式对a
进行排序。
答案 1 :(得分:0)
我仍然不确定我理解,但我会采取刺:
for (var i = 0; i < a.length; i++) {
a[i] = parseInt(val[i].id.substr(2), 10);
}