javascript - 在 Javascript 中如何判断一个数组中的值是否等于另一个数组中的值?

标签 javascript arrays

在 Javascript 中,我有 2 个包含 15 个字符串元素的数组,每个数组包含 0 到 17 个字符。

如何判断这两个数组中第一个数组的值之一是否等于第二个数组的值之一?

示例:

var array1 = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o'];
var array2 = ['z','z','z','z','z','z','z','z','z','z','z','z','z','o','z'];
myFunction(array1,array2); // returns false

示例 2:

var array1 = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','s'];
var array2 = ['z','z','z','z','z','z','z','z','z','z','z','z','z','o','z'];
myFunction(array1,array2); // returns true

最佳答案

Eric J. 提出的交叉点建议可能是解决该问题的最优雅的方法。

对您所问内容的简单翻译可能如下:

function containsAny(array1, array2) {
  for (var i=0; i<array1.length; i++) {
      for (var j=0; j<array2.length; j++) {
          if (array1[i] == array2[j]) return true;
      }
  }
  return false;
}

var array1 = ['a','b','c'];
var array2 = ['1','2','3'];
var array3 = ['a','b','2'];

containsAny(array1, array2); // returns false
containsAny(array2, array3); // returns true 
containsAny(array1, array3); // returns true

关于javascript - 在 Javascript 中如何判断一个数组中的值是否等于另一个数组中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9917857/

相关文章:

javascript - 我如何引用原型(prototype)的父级?

javascript - 数组中的匹配值,即对象数组中的值

c - 未经许可更改内存值

javascript - 返回任何属性以某物开头的所有元素

java - 任何大小的数组java的标准差

arrays - AS3 : AddChild based on Array Value

arrays - 有没有更好的方法来观察数组的添加和删除

javascript - Bootstrap 多选选项的完整显示被剪裁为下拉菜单上的设置宽度

javascript - 如何根据全局变量调整选取框? - meteor

javascript - 如何在没有反斜杠的情况下将 javascript 值作为参数发送