比较两个数组和公共对象添加到新数组

时间:2014-09-24 15:39:36

标签: javascript arrays

我收到了这段代码:

var counter = 0,
randoms = [],
randoms1 = [],
n;

for (n = 0; n < 5; n++) {
randoms.push(Math.floor(Math.random() * 49 + 1));
randoms1.push(Math.floor(Math.random() * 49 + 1));
}

使用这两个数组,我如何检查它们中是否有一个公共数字,这个数字是否将它添加到一个新数组?

2 个答案:

答案 0 :(得分:2)

遍历其中一个阵列并检查:

var matches = [];
for (var i = 0; i < randoms.length; i++) {
    if (randoms1.indexOf(randoms[i]) > -1) matches.push(randoms[i]);
}

答案 1 :(得分:0)

- &GT;简单而繁重的检查:双for循环。
- &GT;更硬但更聪明,更轻松:使用(indexOf(smthg) > -1)

- &GT;我最喜欢的:

randoms = [];

//Populating
for (var n = 0; n < 5; n++) {
randoms[Math.floor(Math.random() * 49 + 1)] = (Math.floor(Math.random() * 49 + 1));
}

//Checking
for (var n in randoms) {
if (randoms[randoms[n]]) console.log("Found One !");
}