【发布时间】:2021-03-03 22:04:15
【问题描述】:
将是一个非常简单的问题,
我有这两个数组:
var pcNumbers = [1,2,3,4,5];
var userNumbers = [1,2,7,8,9];
实际上,我必须找到一种方法来创建一个提示“有两个共同元素,1 和 2”
蒂亚
【问题讨论】:
-
这里有一个合适的answer
标签: javascript arrays element
将是一个非常简单的问题,
我有这两个数组:
var pcNumbers = [1,2,3,4,5];
var userNumbers = [1,2,7,8,9];
实际上,我必须找到一种方法来创建一个提示“有两个共同元素,1 和 2”
蒂亚
【问题讨论】:
标签: javascript arrays element
您可以通过使用Array.prototype.filter()检查另一个数组中的每一项来过滤一个数组
filter()方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。
includes()方法确定数组是否在其条目中包含某个值,并根据需要返回true或false。
var pcNumbers = [1,2,3,4,5];
var userNumbers = [1,2,7,8,9];
var commonNumbers = pcNumbers.filter(i => userNumbers.includes(i));
console.log(commonNumbers);
【讨论】:
var,而是使用let。
let。使用const。
嗯,这是一个非常简单的问题。
遍历第一个数组并检查每个元素是否出现在第二个数组中。
如果是这样,将其推送到另一个数组或仅显示它。
const a = [1,2,3,4,5,6,7,8,9,10];
const b = [2,4,5,7,11,15];
for(let i of a){
if(b.includes(i)){
console.log(i)
}
}
--------- OR --------------
console.log(a.filter(e => b.includes(e)))
【讨论】:
一个快速的解决方案可能是这样的:
const pcNumbers = [1,2,3,8,5];
const userNumbers = [1,2,7,8,9];
const newArr = [];
for (let i = 0; i < pcNumbers.length; i++) {
for (let j = 0; j < userNumbers.length; j++) {
if (pcNumbers[i] === userNumbers[j]) {
newArr.push(pcNumbers[i])
}
}
};
console.log(`These are in common: ${newArr.join(', ')}`)
这将导致:
这些是共同的:1、2
【讨论】:
[1,2,3,8,5] and [1,2,7,8,9,2]@Emanuel Rista 的预期结果是什么