交换数组中的值

时间:2015-09-17 22:48:48

标签: javascript arrays

假设我有像

这样的数组
sed

如何更改数组看起来像这样

var x = [{
      value: 10,
      age: 20,
  }, {
      value: 9,
      age: 19,
  }, {
      value: 8,
      age: 18,
  }];

以最有效的方式没有手动重写值?基本上是为了增加第一个值,然后将下一个索引元素的值更改为先前的值?基本

  var x = [{
      value: 11,
      age: 21,
  }, {
      value: 10,
      age: 20,
  }, {
      value: 9,
      age: 19,
  }];

2 个答案:

答案 0 :(得分:0)

试试这个。

var x = [{
        value: 10,
        age: 20,
    }, {
        value: 9,
        age: 19,
    }, {
        value: 8,
        age: 18,
    }];
var newX = x.map(function (obj){
    var newObj = {};

    var newValue = obj.value + 1;
    var newAge = obj.age + 1;
    newObj["value"] = newValue;
    newObj["age"] = newAge;
    return newObj;
})
console.log(newX);

答案 1 :(得分:-1)

简单的for loop足以解决您的问题,并且根据this也将是更有效的方法之一。 (绝对比$.eachArray.prototype.forEach

效率更高
for (var i = 0; i < x.length; i++) {
    x[i].value += 1;
    x[i].age += 1;
}