【问题标题】:How to get data from objects of an array [duplicate]如何从数组的对象中获取数据[重复]
【发布时间】:2016-12-08 20:43:04
【问题描述】:

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

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

我的问题是如何根据名称获取价格? 比如,焦炭价格怎么算?

【问题讨论】:

标签: javascript


【解决方案1】:

使用您喜欢的任何循环方法(例如forArray.prototype.forEachArray.prototype.filter)遍历数组并测试每个对象的名称属性的值,直到找到您想要的。然后获取它的value属性。

【讨论】:

    【解决方案2】:

    可以用循环功能做到这一点

        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
             }
        }
    

    【讨论】:

      【解决方案3】:

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

      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);
        }
      }
      

      【讨论】:

        【解决方案4】:

        请尝试:

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

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

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

        【讨论】:

        • arr.map(function(item){ return item.price; });
        【解决方案5】:
        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/

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

        【讨论】:

          猜你喜欢
          • 2013-04-09
          • 1970-01-01
          • 2021-12-29
          • 2023-01-22
          • 2021-12-31
          • 2019-06-28
          • 2021-07-20
          • 2022-01-21
          • 2021-03-23
          相关资源
          最近更新 更多