作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我有 4 个数组,每个数组都包含名称。该数组返回名称数组或 null。名称在数组中是唯一的,但该名称可能出现在不同的数组中。某些数组可能为空。一个例子:
例如数组 1 = [Bob、Sam、Mary、Jake]
;数组 2 = [Sam, Jacob, Tom]
;数组 3 = null
; 数组 4= [Stephanie, Sam]
等
我想做的是获取所有数组中共有的所有字符串。这就是我的想法:检查数组是否为空,然后将不为空的数组放入名为“notNull”的数组中。然后遍历 notNull 中的每个单独元素(这是一个数组),然后将数组中常见的名称存储在一个变量中。所以在当前这个例子中,Sam 应该被打印出来。
最佳答案
您可以使用 array.prototype.every用于检查一个项目是否存在于所有数组中:
var arr1 = ["a","b","c"];
var arr2 = ["c","d","e"];
var arr3 = ["f","g","c"];
var exists = [arr1,arr2,arr3].every(function(arr){return arr.indexOf("c") > -1}); // true
var exists2 = [arr1,arr2,arr3].every(function(arr){return arr.indexOf("a") > -1}); // false
您可以使用 array.prototype.reduce用于过滤多个数组:
[arr1,arr2,arr3].reduce(function(a1,a2){
return a1.filter(function(item){ return a2.indexOf(item) > -1 })}, arr1);
关于javascript - 如何遍历多个数组以找到共同点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34440165/
我是一名优秀的程序员,十分优秀!