我需要通过检查该值是否存在于数组中来返回一个布尔值,以将其分配给表单的复选框。
为此,我一直在尝试使用.map()
,方法是遍历ID列表,并通过返回布尔值数组检查该ID是否存在于列表中。
const arrayOne = ['id1', 'id2', 'id3', 'id4', 'id5'];
const arrayTwo = ['id4'];
const booleanValues = [false, false, false, true, false]; // expected outcome
如何使用.map()
以简化且易读的方式检查id是否存在于另一个返回布尔值的数组中?
答案 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以获得更好的性能。不过,这里可能没有必要。