如何将b中的元素按照a中id的顺序进行排序?感觉没有思路
var a = [5,7,1,4,3];
var b = [
{id: 4},
{id: 1},
{id: 5},
{id: 3},
{id: 7}
];
如何将b中的元素按照a中id的顺序进行排序?感觉没有思路
var a = [5,7,1,4,3];
var b = [
{id: 4},
{id: 1},
{id: 5},
{id: 3},
{id: 7}
];
function order(a, b){
var result = [];
for(i in a){
for(item of b){
if(item['id'] === a[i] ){
result[i] = item;
break;
}
}
}
return result;
}
还要两次循环,干嘛那么麻烦了
var a = [5,7,1,4,3];
var b = [
{id: 4},
{id: 1},
{id: 5},
{id: 3},
{id: 7}
];
var c = {};
var d = [];
for(var i = 0;i < a.length;i++){
// console.log(a[i])
c = {
id : a[i]
}
d.push(c)
}
console.log(d)
如果你的b只是{id:num}
这种格式可以用@风灵无畏 的方法
var obj = {};
var arr = [];
for(var i=0;i<b.length;i++){
obj[b[i].id] = b[i];
}
for(var i=0;i<a.length;i++){
arr.push(obj[a[i]]);
}
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决