猿问

检查数组是否包含JavaScript中另一个数组的任何元素

检查数组是否包含JavaScript中另一个数组的任何元素

我有一个目标数组["apple","banana","orange"],我想检查其他数组是否包含任何一个目标数组元素。


例如:


["apple","grape"] //returns true;


["apple","banana","pineapple"] //returns true;


["grape", "pineapple"] //returns false;

我怎么能在JavaScript中做到这一点?


九州编程
浏览 2649回答 3
3回答

繁星coding

香草JSES2016:const found = arr1.some(r=> arr2.includes(r))ES6:const found = arr1.some(r=> arr2.indexOf(r) >= 0)这个怎么运作some(..)根据测试函数检查数组的每个元素,如果数组的任何元素通过测试函数,则返回true,否则返回false。如果给定的参数存在于数组中indexOf(..) >= 0,includes(..)则返回true。

函数式编程

香草js/**  * @description determine if an array contains one or more items from another array.  * @param {array} haystack the array to search.  * @param {array} arr the array providing items to check for in the haystack.  * @return {boolean} true|false if haystack contains at least one item from arr.  */var findOne = function (haystack, arr) {     return arr.some(function (v) {         return haystack.indexOf(v) >= 0;     });};
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答