javascript - 如何在不使用for循环或数组的任何方法的情况下检查数组中是否存在元素

标签 javascript arrays

如何在不使用 for 的情况下检查元素是否存在于数组中循环或数组的任何方法,如 map , reducelet 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/

相关文章:

javascript - CSS 和 Javascript 在我的 localhost PHP 文件夹中不起作用

javascript - 将代码附加到方法

javascript - lodash:将属性插入同一对象中的另一个属性

java - 电子产品商店

Javascript 在每次点击时添加 DIV

javascript - 如何通过匹配名称的字符串调用函数并执行?

javascript - 从 Google Admin SDK 检索并显示 Base64 图像

php - 我可以将数组放入 Mysql 查询中吗?

C程序: Segmentation Fault

c++ - 声明大型数组时堆栈/堆溢出