.对象数组的过滤器不返回任何内容

问题描述 投票:0回答:2

我有一个对象数组:const arr(代码示例)。

现在我想根据一些值过滤这个数组。我就是这样做的:

//data examples
const skinCon = ["abc", "ghi"];
const arr = [{
  name: "A",
  keyInci: "vitamin c, niacinamide"
}, {
  name: "B",
  keyInci: "ha"
}, {
  name: "C",
  keyInci: "vitamin c"
}, {
  name: "D",
  keyInci: ""
}];

//function
function getResults() {
  if (
    skinCon.includes("abc") ||
    skinCon.includes("def")
) {
  const newA = arr.filter((a) => {
    return a.keyInci.includes("vitamin c");
  });
  return newA;
};}

//results
const result = getResults()
console.log(result)//-> returns nothing

我期望得到一个满足条件的对象数组 keyInci.includes("vitamin c") (所以基本上“A”和“C”应该包含在结果中) - 但我得到没有什么。有人能告诉我我错过了什么吗?谢谢!

javascript filter include
2个回答
0
投票

以上代码适用于我


0
投票

getResults() 方法中的括号存在问题,请检查下面的代码是否有效。

const skinCon = ["abc", "ghi"];
const arr = [{
  name: "A",
  keyInci: "vitamin c, niacinamide"
}, {
  name: "B",
  keyInci: "ha"
}, {
  name: "C",
  keyInci: "vitamin c"
}, {
  name: "D",
  keyInci: ""
}];

//function
function getResults() {
  if (
    skinCon.includes("abc") ||
    skinCon.includes("def"))
 {
  const newA = arr.filter((a) => {
    return a.keyInci.includes("vitamin c");
  });
  return newA;
}}

//results
const result = getResults(); 
© www.soinside.com 2019 - 2024. All rights reserved.