首页 > 解决方案 > 如何从数组中的对象中选择一个值

问题描述

我无法弄清楚如何从状态数组中的对象中选择一个值。我有以下数组:

[
 {
  name: bench,
  weight: 200,
  percentages: [200,...]
 },
 {
  name: squat,
  weight: 300,
  percentages: [300,...]
 }
]

在我的应用程序上,我希望能够根据名称选择对象的重量或百分比。例如,如果我选择 'bench',我想得到 '200' 和 '[200,...]' 作为回报。现在我正在映射数组,并且无论我选择哪个名称,我都会得到每个重量和百分比。我怎样才能从相应的名字中只得到那些?任何帮助,将不胜感激。

标签: javascriptarraysreactjsmappingstate

解决方案


array.find()搜索数组并返回匹配条件的第一个元素:

const data = [
 {
  name: "bench",
  weight: 200,
  percentages: [200,400]
 },
 {
  name: "squat",
  weight: 300,
  percentages: [300,600]
 }
];

const selected = data.find((e) => e.name === "bench");
console.log("Weight", selected.weight);
console.log("Percentages", selected.percentages);


推荐阅读