替换对象

时间:2016-03-17 14:26:51

标签: javascript arrays

我有一个对象数组:

arrayOfObject = [{'key1': [1,2]} , {'key2': [1,2,3]} , {'key3': [1,2,4]}]

我在数组中有要替换的键的名称:

var keyString = 'key1';

我有钥匙应该采用的新名称:

var newKey    = 'newKey'

如何制作我的阵列:

arrayOfObject = [{'newKey': [1,2]} , {'key2': [1,2,3]} , {'key3': [1,2,4]}]

JavaScript: Object Rename Key这可以帮助我重命名密钥,但问题是如何在我的数组中首先访问具有key1密钥的对象。

请注意,keyString是随机的。因此,像arrayOfObject[0]

那样毫无意义

https://jsfiddle.net/tcatsx6e/

2 个答案:

答案 0 :(得分:3)

检查此解决方案:

var arrayOfObject = [{'key1': [1,2]} , {'key2': [1,2,3]} , {'key3': [1,2,4]}];

var keyString = 'key1';
var newKey    = 'newKey';

var newArray = arrayOfObject.map(function(item) {
  if (keyString in item) {
    var mem = item[keyString];
    delete item[keyString];
    item[newKey] = mem;
  }
});

请查看此jsbin以获取完整示例。

答案 1 :(得分:1)

这将返回您要修改的对象的索引。

function(arr, keyString) {
  for (var i = 0; i < arr.length; ++i) {
    if (arr[i][keyString] !== undefined) {
      return i;
    }
  }
}