使用地图数组返回true或false

时间:2018-09-24 00:20:07

标签: javascript typescript

我需要通过检查该值是否存在于数组中来返回一个布尔值,以将其分配给表单的复选框。

为此,我一直在尝试使用.map(),方法是遍历ID列表,并通过返回布尔值数组检查该ID是否存在于列表中。

const arrayOne = ['id1', 'id2', 'id3', 'id4', 'id5'];
const arrayTwo = ['id4'];
const booleanValues = [false, false, false, true, false]; // expected outcome

如何使用.map()以简化且易读的方式检查id是否存在于另一个返回布尔值的数组中?

1 个答案:

答案 0 :(得分:4)

我只是使用includes来查看arr中是否存在checkVals的值:

var arr = [1, 2, 3];
var checkVals = [2];
    
var results = arr.map(n => checkVals.includes(n));
    
console.log(results);
// [false, true, false]

除了为checkVals使用数组之外,还可以使用Set以获得更好的性能。不过,这里可能没有必要。