更改对象的属性名称

Fre*_* J. 2 javascript

这种格式的大约 5 个或更多 javascript 对象的数组[{'a':'man', 'age':'35'},{'b':'woman', 'age':'30'}]需要转换为[{gender:'man','age':'35'},{gender:'woman','age':'30'}].

什么是有效的方法?

编辑
此外,输入数组可能是这样的,其中键是切换的: [{'a':'man', 'age':'35'},{'age':'30', 'b':'woman'}]其中 a、b、... 可以是任何东西,数组中的对象最多可以有 10 个对象。

Nin*_*olz 5

您可以迭代数组并迭代键并仅将未知键更改为gender.

var data = [{ a: 'man', age: '35' }, { b: 'woman', age: '30' }];

data.forEach(function (o) {
    Object.keys(o).forEach(function (k) {
        if (k !== 'age') {
            o.gender = o[k];
            delete o[k];
        }
    });
});

console.log(data);
Run Code Online (Sandbox Code Playgroud)


vp_*_*rth 5

您可以遍历原始数组并将您拥有的字段映射到您需要的字段:

var array=[{'a':'man', 'age':'35'},{'b':'woman', 'age':'30'}];
var newArray = array.map(function(item){
   return {
     age: item.age,
     gender: item.a || item.b
   };
});
console.log(newArray);
Run Code Online (Sandbox Code Playgroud)