javascript – 数组转换/操作

我有一个像这样的数组:

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);
上一篇:javascript – 如何比较两个对象数组并获取常见对象


下一篇:在JavaScript数组中所有元素之间穿插元素的方法是什么?