js数组去重

function checkArrayEquality(array1, array2) {
  const filenameMap = {}; // 辅助对象,用于记录已出现的filename
  const duplicateFilenames = []; // 存储重复的filename

  // 遍历 array1 中的每个对象
  for (let obj1 of array1) {
    // 取得当前对象的 filename 值
    const filename1 = obj1.filename;

    // 检查filename是否已存在于辅助对象中
    if (filenameMap[filename1]) {
      duplicateFilenames.push(filename1); // 将重复的filename添加到数组中
    } else {
      filenameMap[filename1] = true; // 将filename添加到辅助对象中
    }
  }

  // 遍历 array2 中的每个对象
  for (let obj2 of array2) {
    // 取得当前对象的 filename 值
    const filename2 = obj2.filename;

    // 检查filename是否已存在于辅助对象中
    if (filenameMap[filename2]) {
      duplicateFilenames.push(filename2); // 将重复的filename添加到数组中
    } else {
      filenameMap[filename2] = true; // 将filename添加到辅助对象中
    }
  }

  // 返回重复的filename数组
  return duplicateFilenames;
}

// 调用函数进行判断
const array1 = [{ filename: 'file1' }, { filename: 'file2' }, { filename: 'file3' }];
const array2 = [{ filename: 'file4' }, { filename: 'file2' }, { filename: 'file5' }];

const duplicateFilenames = checkArrayEquality(array1, array2);

if (duplicateFilenames.length > 0) {
  console.log('重复的filename是:', duplicateFilenames);
} else {
  console.log('数组中的filename没有重复');
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值