比较两个不同数组的值

时间:2019-02-27 08:53:15

标签: javascript arrays

我的问题是比较两个不同数组的值,不知道它们是否相等,而是比较数组B中是否存在数组A中的值。

包含不起作用,并且我不比较长度,仅比较值。

我花了很多时间来寻找答案,但没有发现关于该问题的确切信息。

firstArray = [0,1];
secondArray = [[0,1],[0,2],[0,3],[1,1],[1,2],[1,3]];

如何比较firstArray和secondArray,以了解secondArray是否具有firstArray的值。这就像是一个相等的比较,但前提是firstArray的值位于secondArray中。

如果是,则玩家可以在棋盘上移动。这个想法是,只要firstArray值是secondArray值之一,播放器就可以移动。如果没有,就不可能移动。

3 个答案:

答案 0 :(得分:1)

您可以对数组项进行字符串化并进行比较:

var firstArray = [0,1];
var secondArray = [[0,1],[0,2],[0,3],[1,1],[1,2],[1,3]];

var res = secondArray.some(x => JSON.stringify(x) == JSON.stringify(firstArray));
console.log(res);

答案 1 :(得分:0)

JSON.stringifysomesort()一起使用:

var firstInSecond = secondArray.some(e => JSON.stringify(e.sort()) == JSON.stringify(firstArray.sort()));

答案 2 :(得分:0)

您可以将Array.prototype.some()Array.prototype.toString()结合使用:

const firstArray = [0,1];
const secondArray = [[0,1],[0,2],[0,3],[1,1],[1,2],[1,3]];

const isFound = secondArray.some(a => a.toString() === firstArray.toString());

console.log(isFound);