我有一个像这样的数组:
array1=[{value:1, label:'value1'},{value:2, label:'value2'}, {value:3, label:'value3'}]
我有第二个整数数组:
array2=[1,3]
我想获得这个没有循环的数组:
arrayResult = ['value1', 'value3']
有人知道如何用javascript做到这一点?
提前致谢
解决方法:
将array2中的元素映射到array1中元素的label属性,并使用相应的值:
array2 // Take array2 and
.map( // map
function(n) { // each element n in it to
return array1 // the result of taking array1
.find( // and finding
function(e) { // elements
return // for which
e.value // the value property
=== // is the same as
n; // the element from array2
}
)
.label // and taking the label property of that elt
;
}
)
;
没有评论,在ES6中:
array.map(n => array1.find(e => e.value === n).label);