在编程中,数组是一种数据结构,用于存储一系列相同类型的元素。当需要统计两个名称相同的数组项时,通常涉及到数组的操作和处理。
假设我们有两个数组 arr1
和 arr2
,我们需要统计两个数组中名称相同的项。
function countSameNames(arr1, arr2) {
const map = new Map();
let count = 0;
// 遍历第一个数组,将名称存入哈希表
for (const item of arr1) {
map.set(item.name, true);
}
// 遍历第二个数组,检查名称是否在哈希表中
for (const item of arr2) {
if (map.has(item.name)) {
count++;
map.delete(item.name); // 避免重复计数
}
}
return count;
}
// 示例数组
const arr1 = [{ name: 'Alice' }, { name: 'Bob' }, { name: 'Charlie' }];
const arr2 = [{ name: 'Alice' }, { name: 'David' }, { name: 'Bob' }];
console.log(countSameNames(arr1, arr2)); // 输出: 2
Map
对象来存储第一个数组中的名称。Map
对象提供了快速的查找和删除操作。通过这种方法,我们可以高效地统计两个数组中名称相同的项,并且代码逻辑清晰,易于理解和维护。
领取专属 10元无门槛券
手把手带您无忧上云