最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何通过在javascript中进行比较来仅从数组中获取特定元素?

网站源码admin23浏览0评论

如何通过在javascript中进行比较来仅从数组中获取特定元素?

如何通过在javascript中进行比较来仅从数组中获取特定元素?

我有两个数组。第二个arrayB的某些元素与arrayA相同。现在,在比较数组之后,arrayA应该只包含那些不在arrayB中的值。请告诉我最好的方法。

let arrayA = [{ "displayName": "John" }, { "displayName": "Sandra" },{ "displayName": "Peter" }]
let arrayB = [{ "name": "Bobby" }, { "name": "John" }, { "name": "Sandra" }]

arrayA.forEach(function(cust, index) {
  arrayB.forEach(function(comp) {
    if (comp.name == cust.displayName) {
      delete arrayA[index] 
    }
  })
})
    console.log("Final"+JSON.stringify(arrayA))

Output-> Final [null,null,{“ displayName”:“ Peter”}]

回答如下:

过滤并仅保留另一个数组中不存在的那些

let arrayA = [{ "displayName": "John" }, { "displayName": "Sandra" },{ "displayName": "Peter" }]
let arrayB = [{ "name": "Bobby" }, { "name": "John" }, { "name": "Sandra" }]

arrayA = arrayA.filter(a =>
  !arrayB.find(b => a.displayName === b.name)
);

console.log("Final"+JSON.stringify(arrayA))
发布评论

评论列表(0)

  1. 暂无评论