首页 > 解决方案 > 将真/假数组与其他数组进行比较

问题描述

比较两个数组并返回包含array2关联值所在的值的第三个数组的最快方法array1true什么?

const array1 = [true, false, false, true];
const array2 = ['a', 'b', 'c', 'd'];

结果应该是:

const result = ['a', 'd'];

标签: javascriptarraysecmascript-6

解决方案


使用filter.

const array1 = [true, false, false, true];
const array2 = ['a', 'b', 'c', 'd'];
const res = array2.filter((_, i) => array1[i]);
console.log(res);

ES5 语法:

var array1 = [true, false, false, true];
var array2 = ['a', 'b', 'c', 'd'];
var res = array2.filter(function(_, i) {
  return array1[i];
});
console.log(res);


推荐阅读