Bin*_*ose -2 javascript jquery
我有一个像这样的对象数组:
[{"key":"fruit","value":"apple"},{"key":"color","value":"red"},{"key":"location","value":"garden"}]
Run Code Online (Sandbox Code Playgroud)
我需要将其转换为以下格式:
[{"fruit":"apple"},{"color":"red"},{"location":"garden"}]
Run Code Online (Sandbox Code Playgroud)
这怎么可能使用JavaScript?
Ale*_* T. 14
您可以使用 .map
var data = [
{"key":"fruit","value":"apple"},
{"key":"color","value":"red"},
{"key":"location","value":"garden"}
];
var result = data.map(function (e) {
var element = {};
element[e.key] = e.value;
return element;
});
console.log(result);Run Code Online (Sandbox Code Playgroud)
如果你使用ES2015你也可以这样做
var result = data.map((e) => {
return {[e.key]: e.value};
});
Run Code Online (Sandbox Code Playgroud)
使用箭头函数,将数据称为 arr
arr.map(e => {
var o = {};
o[e.key] = e.value;
return o;
});
Run Code Online (Sandbox Code Playgroud)
这会生成一个新的Array并且不会修改原来的
它可以简化为一行
arr.map(e => ({[e.key]: e.value}));
Run Code Online (Sandbox Code Playgroud)
如果你还不能假设箭头函数支持,你会写这个
arr.map(function (e) {
var o = {};
o[e.key] = e.value;
return o;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2023 次 |
| 最近记录: |