gpt4 book ai didi

javascript - 如何遍历多个数组以找到共同点

转载 作者:行者123 更新时间:2023-12-01 02:46:04 25 4
gpt4 key购买 nike

所以我有 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com