【问题标题】:get specific data from multidimensional array jquery从多维数组jquery中获取特定数据
【发布时间】:2016-09-27 23:18:51
【问题描述】:

我有这样的数组数据

 [{id:1, cost:20, range:15} {id:2, cost:30, range:13}]

我想像这样使用 jquery 制作数组数据

cost : [20, 30]
range : [15, 13]

请告诉我该怎么做。

【问题讨论】:

    标签: javascript jquery arrays multidimensional-array


    【解决方案1】:

    使用 forEach 方法迭代并将值推送到数组

    var cost = [],
      range = [];
    
    var data = [{
      id: 1,
      cost: 20,
      range: 15
    } ,{
      id: 2,
      cost: 30,
      range: 13
    }];
    
    data.forEach(function(v) {
      cost.push(v.cost);
      range.push(v.range);
    });
    
    console.log(cost, range);

    或者用map()方法生成数组

    var data = [{
      id: 1,
      cost: 20,
      range: 15
    }, {
      id: 2,
      cost: 30,
      range: 13
    }];
    
    var cost = data.map(function(v) {
      return v.cost;
    });
    var range = data.map(function(v) {
      return v.range;
    });
    
    console.log(cost, range);

    【讨论】:

    • @ArieSastra : 很高兴帮助你:)
    【解决方案2】:

    您可以使用Array#forEach() 和一个对象作为结果,并使用一个数组作为要分组的属性。

    var array = [{ id: 1, cost: 20, range: 15 }, { id: 2, cost: 30, range: 13 }],
        result = {};
    
    array.forEach(function (a) {
        ['cost', 'range'].forEach(function (k) {
            result[k] = result[k] || [];
            result[k].push(a[k]);
        });
    });
    
    console.log(result);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-09
      • 1970-01-01
      • 1970-01-01
      • 2012-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多