js 中 对 Array 的操作
判断数组中是否包含指定的多个值
1、every()方法的定义与用法:
- every()方法用于检测数组中的所有元素是否都满足指定条件(该条件为一个函数)。
- every()方法会遍历数组的每一项,如果有有一项不满足条件,则表达式返回false,剩余的项将不会再执行检测;如果遍历完数组后,每一项都符合条,则返回true。
例如,如果要判断一个数组 arr
是否同时包含值 "a"
、"b"
和 "c"
,可以这样写:
const arr = ['a', 'b', 'c', 'd']; const valuesToCheck = ['a', 'b', 'c']; const hasAllValues = valuesToCheck.every(value => arr.includes(value)); console.log(hasAllValues); // 输出 true
上述代码中,valuesToCheck
是需要判断的多个值组成的数组。every
方法会遍历 valuesToCheck
数组中的每个值,对于每个值都调用回调函数。回调函数中使用 includes
方法判断当前值是否在 arr
数组中存在。every
方法的返回值是布尔类型,表示是否所有的值都满足条件。
如果要判断数组中是否至少包含指定的多个值,则可以改为使用 some
方法:
2、some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
- 如果有一个元素满足条件,则表达式返回 true , 剩余的元素不会再执行检测。
- 如果没有满足条件的元素,则返回false。
const arr = ['a', 'b', 'c', 'd']; const valuesToCheck = ['a', 'e', 'f']; const hasSomeValues = valuesToCheck.some(value => arr.includes(value)); console.log(hasSomeValues); // 输出 true
上述代码中,hasSomeValues
表示是否至少有一个值在 arr
数组中存在。