Javascript 如何将对象中的id更改为值
有一个我从服务器收到的对象。那样子 我需要将所有“id”更改为“值” 尝试解析为JSON更改它并转换为数组,但结果非常糟糕Javascript 如何将对象中的id更改为值,javascript,arrays,object,Javascript,Arrays,Object,有一个我从服务器收到的对象。那样子 我需要将所有“id”更改为“值” 尝试解析为JSON更改它并转换为数组,但结果非常糟糕 var x = nextProps.campus; var fff = JSON.stringify(x); var res = fff.replace(/name/g, "value"); var arr = []; for (var prop in res) { arr.pu
var x = nextProps.campus;
var fff = JSON.stringify(x);
var res = fff.replace(/name/g, "value");
var arr = [];
for (var prop in res) {
arr.push(res[prop]);
}
结果我需要这样
var options = [
{ value: 'one', label: 'One' },
{ value: 'two', label: 'Two' }
];
你可以用
var body=[{
id:1,
名称:“学校测试1”
}, {
id:2,
名称:“学校测试2”
}];
var options=body.map((x)=>({value:x.id,label:x.name}));
console.log(选项)代码>您可以迭代数组,然后使用旧值分配新属性并删除该属性
var options=[{name:'one',label:'one'},{name:'two',label:'two'}];
选项。forEach(函数(o){
o、 值=o.name;
删除o.name;
});
console.log(选项)代码>您可以使用lodash这样做:
var myData= [{
id: 1,
name: "school_test_1"
}, {
id: 2,
name: "school_test_2"
}]
var changeLabel= {
id: 'value',
name: 'label'
};
var newArray = _.map(myData ,function(obj) {
return _.mapKeys(obj, function(value, key) {
return changeLabel[key];
});
});
请以文字表示法添加对象。data.map({id,name})=>({value:id,name}))
将完成作业,但不要求LODASHORY,这可以是usfel供您使用:stackoverflow.com/questions/27158371/rename-keys-in-javascript-array您为什么发送此链接?我只是说OP没有要求lodash回复链接不是关于lodash的我说它可以帮助你,这不是我们回答的好方法。祝你好运