我有一个对象数组:
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]
答案 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;
}
}
}