如何在不使用 for
的情况下检查元素是否存在于数组中循环或数组的任何方法,如 map
, reduce
?
let numList= [1,2,3,6,9,2,-8,20];
我想在不使用 for
的情况下检查 9 和 30 是否存在循环或任何数组方法
最佳答案
我想一个选择是将数组转换为 Set
并检查 Set.has
:
let numList= [1,2,3,6,9,2,-8,20];
const set = new Set(numList);
console.log(set.has(9));
console.log(set.has(30));
检查 Set
是否有元素的复杂度为 O(1)
,这比任何数组方法或 for
的复杂度都低> 循环,是 O(N)
或 O(log N)
,所以当你有一个非常大的数组并且你想检查它是否有某些元素时,转换首先将其设置为 Set
是个好主意。
关于javascript - 如何在不使用for循环或数组的任何方法的情况下检查数组中是否存在元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52241636/