Javascript 如何重新组织json数据?

Javascript 如何重新组织json数据?,javascript,jquery,json,Javascript,Jquery,Json,我有: json- 2) “名称”的结构- 所以,我需要用这个结构更改name的值。在此之后,我必须得到- {"names":[{"name": "somestring","y": 555}, {"name": "somestringlalala","y": 666}, {"name": "lallaallla","y": 777}]} 我该怎么做? 我知道我可以使用“for”并用if检查每个“name”值,但我认为这是一种非常新的方法。您可以使用 方法对每个数组元素执行一次提供的函数 va

我有: json-

2) “名称”的结构-

所以,我需要用这个结构更改name的值。在此之后,我必须得到-

{"names":[{"name": "somestring","y": 555}, {"name": "somestringlalala","y": 666}, {"name": "lallaallla","y": 777}]}
我该怎么做? 我知道我可以使用“for”并用if检查每个“name”值,但我认为这是一种非常新的方法。

您可以使用

方法对每个数组元素执行一次提供的函数

var data={“name”:[{“name”:12,“y”:555},{“name”:21,“y”:666},{“name”:35,“y”:777}]},
替换={12:“somestring”,21:“somestringlalala”,31:“lallaallla”};
data.names.forEach(函数(a){
a、 名称=替换项[a.name];
});

控制台日志(数据)您只需使用名称作为键即可获得正确的字符串,如:

let names = [{name: 12}, {name: 31}, {name: 31}];
let nameKey = {12: "somestring", 21: "somestringlalala", 31:"lallaallla"}

names.map(nameObj => nameObj.name = nameKey[nameObj.name]);
console.log(names);
下面是一个正在工作的JSFIDLE:

Thnx!你觉得Rob的答案怎么样?map返回一个数组,这是多余的。是的,同意。在我发布之后,我就想到了这一点,习惯于使用map来获得一个包含格式化数据的新数组,但在本例中,我只是修改了原始数组。forEach比较好。需要帮助,Rob。我给尼娜的答案打上了记号,因为这对我来说很简单,但我也会试试你的版本!他们的答案基本相同
{"names":[{"name": "somestring","y": 555}, {"name": "somestringlalala","y": 666}, {"name": "lallaallla","y": 777}]}
let names = [{name: 12}, {name: 31}, {name: 31}];
let nameKey = {12: "somestring", 21: "somestringlalala", 31:"lallaallla"}

names.map(nameObj => nameObj.name = nameKey[nameObj.name]);
console.log(names);