鍍金池/ 問答/HTML5  PHP  HTML/ 數(shù)組排序的問題

數(shù)組排序的問題

如何將b中的元素按照a中id的順序進行排序?感覺沒有思路

var a = [5,7,1,4,3];
var b = [
    {id: 4},
    {id: 1},
    {id: 5},
    {id: 3},
    {id: 7}
];
回答
編輯回答
何蘇葉

如果你的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]]); 
}
2017年11月3日 03:13
編輯回答
胭脂淚

還要兩次循環(huán),干嘛那么麻煩了
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)
2017年6月16日 06:02
編輯回答
朕略萌
const a = [5, 7, 1, 4, 3];
const b = [
    {id: 4},
    {id: 1},
    {id: 5},
    {id: 3},
    {id: 7}
];

const res = a.map(id => b.find(item => item.id === id))
2018年3月13日 08:09
編輯回答
貓館
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;
}
2018年8月10日 06:05