JavaScript:如何检查一个数组是否包含与第二个数组相同的元素?
JavaScript: How can i check if an array contains elements in common with a second array?
会很简单的问题,
我有这两个数组:
var pcNumbers = [1,2,3,4,5];
var userNumbers = [1,2,7,8,9];
实际上我必须找到一种方法来创建一个提示“有两个共同的元素,1 和 2”
蒂亚
好吧,这个问题真的很简单。
遍历第一个数组并检查每个元素是否出现在第二个数组中。
如果是,将其推送到另一个数组或仅显示它。
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)))
您可以使用 Array.prototype.filter()
检查另一个数组中的每一项来过滤一个数组
The filter()
method creates a new array with all elements that pass the test implemented by the provided function.
The includes()
method determines whether an array includes a certain value among its entries, returning true
or false
as appropriate.
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);
一个快速的解决方案可能是这样的:
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
会很简单的问题,
我有这两个数组:
var pcNumbers = [1,2,3,4,5];
var userNumbers = [1,2,7,8,9];
实际上我必须找到一种方法来创建一个提示“有两个共同的元素,1 和 2”
蒂亚
好吧,这个问题真的很简单。
遍历第一个数组并检查每个元素是否出现在第二个数组中。
如果是,将其推送到另一个数组或仅显示它。
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)))
您可以使用 Array.prototype.filter()
The
filter()
method creates a new array with all elements that pass the test implemented by the provided function.
The
includes()
method determines whether an array includes a certain value among its entries, returningtrue
orfalse
as appropriate.
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);
一个快速的解决方案可能是这样的:
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