【发布时间】:2021-11-27 18:34:36
【问题描述】:
我有一个数组
let names = ['Devid', 'Aries','James'];
还有一个对象数组
let details = [
{"Name":"John"},
{"Name":"Devid"},
{"Name":"Aries"},
{"Name":"Aries"}
];
我想详细检查所有名称是否存在,并且它们在 1 个循环中的名称不重复 如果存在重复值,则将其计为 1 输出应该是 count= 2 但我的代码返回 count 3
let names = ['Devid', 'Aries','James'];
let details = [
{"Name":"John"},
{"Name":"Devid"},
{"Name":"Aries"},
{"Name":"Aries"}
];
let count = 0;
for (var eachDetail of details) {
// checking here Name exist
let isNameFound = names.some(el => eachDetail.Name.includes(el));
if (isNameFound) count++;
}
console.log(count);
// console.log(3) expected output 2
输出应该是2(因为Devid和Aries)存在
【问题讨论】:
-
对于每个名称,过滤数组中匹配名称的元素,并验证过滤后数组的长度是否为 1。
-
那么预期的输出是什么......
-
输出应该是2(因为Devid和Aries)存在
-
数组中是否可以重复?
-
否,如果存在重复则计为 1
标签: javascript node.js arrays object