【问题标题】:Compare and print the value from array of array using node js使用节点js比较并打印数组数组中的值
【发布时间】:2021-07-15 18:54:18
【问题描述】:

有没有办法只检查和比较数组数组的值与name 并分别打印匹配值和不匹配值?

arrayToCheck =[
  {
    id: 1,
    name:Java,
    description: language
  },
  {
    id: 2,
    name:JavaScript,
    description: language
  },
  {
    id: 3,
    name:Oops,
    description: Subject
  },
  {
    id: 4,
    name:Java,
    description: Practical
  },
  {
    id: 5,
    name:Oops,
    description: Practical
  },
  {
    id: 6,
    name:React Js,
    description: Practical
  },
]

valueToCheck= JavaScript;

预期输出:

matchedValue = JavaScript

unMatchedValue = ['Java', 'Oops','React Js']; //filter repeated data

【问题讨论】:

  • 是javascript吗?
  • 是的@nur 这是 JavaScript
  • 怎么样?? @KadenSkinner
  • 喜欢这个? @KadenSkinner
  • 我找到了答案

标签: javascript node.js arrays nodes


【解决方案1】:

首先- 您的数组制作不正确。

应该是这样的。

var arrayToCheck =[
  {
    id: 1,
    name:"Java",
    description: "language",
  },
  {
    id: 2,
    name:"JavaScript",
    description: "language",
  },
  {
    id: 3,
    name:"Oops",
    description: "Subject",
  },
  {
    id: 4,
    name:"Java",
    description: "Practical",
  },
  {
    id: 5,
    name:"Oops",
    description: "Practical",
  },
  {
    id: 6,
    name:"React Js",
    description: "Practical",
  },
]

您还应该在所有代码之前添加一个过滤器。 像这样-

var filter = {
name: "JavaScript"
};

现在你应该有这样的东西了。

var filter = {
name: "JavaScript"
};
var arrayToCheck =[
  {
    id: 1,
    name:"Java",
    description: "language",
  },
  {
    id: 2,
    name:"JavaScript",
    description: "language",
  },
  {
    id: 3,
    name:"Oops",
    description: "Subject",
  },
  {
    id: 4,
    name:"Java",
    description: "Practical",
  },
  {
    id: 5,
    name:"Oops",
    description: "Practical",
  },
  {
    id: 6,
    name:"React Js",
    description: "Practical",
  },
]

现在使用过滤器并将其记录在控制台中。

var filter = {
name: "JavaScript"
};
var arrayToCheck =[
  {
    id: 1,
    name:"Java",
    description: "language",
  },
  {
    id: 2,
    name:"JavaScript",
    description: "language",
  },
  {
    id: 3,
    name:"Oops",
    description: "Subject",
  },
  {
    id: 4,
    name:"Java",
    description: "Practical",
  },
  {
    id: 5,
    name:"Oops",
    description: "Practical",
  },
  {
    id: 6,
    name:"React Js",
    description: "Practical",
  },
]
arrayToCheck= arrayToCheck.filter(function(item) {
  for (var key in filter) {
    if (item[key] === undefined || item[key] != filter[key])
      return false;
  }
  return true;
});

console.log(arrayToCheck)

【讨论】:

  • 您好,如果我需要其余不匹配的值进行过滤,那么如何打印它们?
  • @Kaden Skinner。使用数组。 var ids = [2] 然后从 ids 过滤 id 喜欢:arrayToCheck.filter(({id}) => ids.includes(id))
  • @Praveen 没问题?仍在寻找解决问题第二部分的方法
  • 欢迎堆栈溢出。并且请不要再创建任何聊天室。
  • 所以我可以将它们添加到与过滤器不匹配的数据库中:)
猜你喜欢
  • 1970-01-01
  • 2021-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多