繁体   English   中英

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

[英]Comparing two arrays and common objects add to new array

我得到以下代码:

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个数组,如何检查它们中是否有一个公共数字,并将这个数字添加到新的数组中?

循环访问其中一个数组并检查:

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

- >简单而沉重的检查:加倍for循环。
->更难但更聪明但更轻一点:使用(indexOf(smthg) > -1)

->我的最爱:

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 !");
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM