鍍金池/ 問答/數(shù)據(jù)庫  HTML/ js算法問題

js算法問題

let arr1 = [
    {
        label:'張三',
        value:'1'
    },
    {
        label:'李四',
        value:'2'
    },
    {
        label:'王五',
        value:'3'
    }
 ]

let arry2 = ['1','2']

let resArry = ?

console.log(resArry)   //輸出  張三、李四

arry2中的值能對應(yīng)到arry1中的value 則放入resArry中 最終打印出張三、李四

這個(gè)怎么實(shí)現(xiàn)呢?

回答
編輯回答
吢涼

var arr1 = [

{
    label:'張三',
    value:'1',
},
{
    label:'李四',
    value:'2',
},
{
    label:'王五',
    value:'3',
}

];

var arr2 = ['1','2'];

var resArry = [];

for(var item of arr1){

for(var str of arr2){
    if(str == item.value){
        resArry.push(item.label)
    }
}

}
console.log(resArry)

2017年2月3日 00:04
編輯回答
青黛色

你寫循環(huán)遍歷一遍不就行了,還是我沒看懂你啥意思

2017年12月16日 18:35
編輯回答
神曲

參考ezmo的改了下

let resArry = arr1.filter(o=>arry2.includes(o.value)).map(o=>o.label).join('、')
2017年9月30日 09:57
編輯回答
浪婳
let obj1 = arr1.reduce((iter, val) => (iter[val.value] = val.label, iter), {});
let resArry = arry2.map(v => obj1[v]);
2017年4月5日 14:07
編輯回答
雨萌萌
let resArry = arr1.filter(o=>arry2.indexOf(o.value)>-1).map(o=>o.label);
console.log(resArry);
2018年5月30日 05:17
編輯回答
有點(diǎn)壞
var arr1 = [
  {
    label: '張三',
    value: '1'
  },
  {
    label: '李四',
    value: '2'
  },
  {
    label: '王五',
    value: '3'
  }
]

var arr2 = ['1', '2']
var resArry=[];
for(var i=0;i<arr1.length;i++){
  for(var j=0;j<arr2.length;j++){
    if(arr2[j]==arr1[i].value){
      arrtemp.push(arr1[i].label)
    }
  }
}
console.log(resArry);
2017年8月31日 20:18