鍍金池/ 問(wèn)答/HTML/ javascript 通過(guò)一維數(shù)組來(lái)獲取多維數(shù)組的數(shù)據(jù)

javascript 通過(guò)一維數(shù)組來(lái)獲取多維數(shù)組的數(shù)據(jù)

需求如下:
arr1是一個(gè)動(dòng)態(tài)獲取的數(shù)組類似:
var arr1 =[1,2,3,4,5] 或 var arr1 =[1,4]; //這1,2,3...就是下面多維數(shù)組的ID

arr2是一個(gè)多維數(shù)組,他的值是不變的,類似:
var arr2=[{id:1,name:11},{id:2,name:222},{id:3,name:333},{id:4,name:444}];

我現(xiàn)在想實(shí)現(xiàn):

如果獲取到的arr1是:[1,2],我得到arr2的值就是[{id:1,name:11},{id:2,name:222}];
如果獲取到的arr1是:[1,3],我得到arr2的值就是[{id:1,name:11},{id:3,name:333}];
以此類推……


回答
編輯回答
情皺

arr1.forEach(el => {

console.log( arr2.filter(item => item.id == el))

})

想要的結(jié)果直接賦值 我這里給你打印出來(lái)了

2017年11月19日 22:03
編輯回答
挽歌
arr2.filter(function(el) {
    return ~arr1.indexOf(el.id)
})
2017年3月1日 21:26
編輯回答
哚蕾咪
var arr2 = arr1.map((item,index)=>{
    return {
        id:item,
        name:+new Array(3).fill(item).join('')
    }
})

開(kāi)始沒(méi)審明白題

var arr3 = Object.create(null)
arr2.forEach(item=>{
    arr3[ item.id ] = item
})
var arr4 = arr.map(item=>{
    return arr3[ item ]
})
2018年1月11日 21:52