javascript - 从对象数组中,如何获取该对象值与变量匹配的对象值?

标签 javascript arrays find

假设您有一个对象数组。

let dogs = [
  { 
    colour: "blue",
    breed: "poodle"
  },
  { 
    colour: "yellow",
    breed: "poodle"
  },
  { 
    colour: "red",
    breed: "laborator"
  }
];

按品种配对时,颜色怎么取?

我试过:

let myFavouriteColour = dogs.find(dog => {
   if (dog.breed === "laborator") return dog.colour
});

这会返回一个符合上述条件的对象;我只希望它返回 colour 属性中的值。

最佳答案

一旦你.find一个匹配项,返回true(或者只返回一个相等性测试),然后访问.find外部匹配对象的属性:

let dogs = [
  { 
    colour: "blue",
    breed: "poodle"
  },
  { 
    colour: "yellow",
    breed: "poodle"
  },
  { 
    colour: "red",
    breed: "laborator"
  }
];

const laborator = dogs.find(dog => dog.breed === "laborator");
if (laborator) {
  const myFavouriteColour = laborator.colour;
  console.log(myFavouriteColour);
}

关于javascript - 从对象数组中,如何获取该对象值与变量匹配的对象值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58444094/

相关文章:

javascript - 通过 Promise 链传递数据 (angularjs)

javascript - VS 2013 WPF Web浏览器启用Javascript

javascript - 如何在 React 中等待 useDispatch 值?

bash - 列出名称中只有数字的文件

javascript - 为什么我网站上的头像链接会泄露?

python - 有没有办法通过将 python 列表快速转换为 numpy 矩阵来搜索列表?

java - 是什么导致了 java.lang.ArrayIndexOutOfBoundsException 以及如何防止它?

Bash:在一个命令行中删除文件后缀

matlab - 如何将 `find` 命令替换为 `logical indexing` (MATLAB),以查找唯一值的向量值位置?

c# - 在 Newtonsoft C# 中加载 JSON 数组时读取错误