如何从数组的对象中获取数据

How to get data from objects of an array

本文关键字:获取 数据 对象 数组      更新时间:2023-09-26

我有一个如下的数据结构。。。

[
  {name: "coke",  price:"10"},
  {name: "sprit", price: "20"}
]

我的问题是,我如何根据它的名字得到价格?例如,如何获取焦炭价格?

可以用循环函数来完成

    var dataArr = [
      {name: "coke",  price:"10"},
      {name: "sprit", price: "20"}
    ];
    for(var i=0;i<dataArr.length;i++){
         if(dataArr[i].name == "coke"){
             console.log(dataArr[i].price); // prints 10
         }
    }

使用您喜欢的任何循环方法(如forArray.prototype.forEachArray.prototype.filter)在数组上循环,并测试每个对象的name属性的值,直到找到所需对象为止。然后得到它的value属性。

只需循环遍历数组并获取对象属性。

var arr = [{name: "coke",  price:"10"},{name: "sprit", price: "20"}];
for (var i = 0, len = arr.length; i < len; i++) {
  if(arr[i].name === "coke"){
       console.log(arr[i].price);
  }
}
var data = [{
  name: "coke",
  price: "10"
}, {
  name: "sprit",
  price: "20"
}];
function getValue(data, name) {
  for (let i = 0; i < data.length; i++) {
    if (data[i].name === name) {
      return data[i].price;
    }
  }
}
var value = getValue(data, 'coke');
alert(value);

https://jsfiddle.net/ej5ofsxm/

您可以循环遍历数组并根据名称获取价格。

请尝试:

(arr.find(function(item){ return item.name === 'coke'}) || {}).price;

或者你可以找到所有名为"可乐"的物品:

arr.filter(function(item){
    return item.name === 'coke';
})