Javascript foreach js重新格式化数据

Javascript foreach js重新格式化数据,javascript,foreach,Javascript,Foreach,我正在创建一个RESTAPI,并从我的一个请求中获取数据 但我想解析它们 我尝试创建一个foreach循环,但在每一行中都创建一个get,以获得相同的结果 那里 这是我的数据样本 result = [ { "id": 1, "UserID": 2, "idFriend": 3, "status": "pending", "UserId": 2, "User": {

我正在创建一个RESTAPI,并从我的一个请求中获取数据 但我想解析它们

我尝试创建一个foreach循环,但在每一行中都创建一个get,以获得相同的结果 那里 这是我的数据样本

      result = [
    {
        "id": 1,
        "UserID": 2,
        "idFriend": 3,
        "status": "pending",
        "UserId": 2,
        "User": {
            "id": 2,
            "email": "toto@gmail.com",
            "username": "tetar",
            "isAdmin": false,
            "isOut": false,
            "bio": null,
        }
    },
    {
        "id": 2,
        "UserID": 2,
        "idFriend": 1,
        "status": "pending",
        "UserId": 2,
        "User": {
            "id": 2,
            "email": "toto@gmail.com",
            "username": "tetar",
            "isAdmin": false,
            "isOut": false,
            "bio": null,
        }
    },
]
我想修改我的数据,就像

`result = [{
  "id"= 1,
  "User": {
        "id": 2,
        "email": "toto@gmail.com",
        "username": "tetar"
     }
  },
  {
  "id"= 2,
  "User": {
        "id": 2,
        "email": "titi@gmail.com",
        "username": "tetar"
     }
    }
  }]`
你知道我怎么做吗?
thx很多

只是一个映射函数

const newResult = [];

result.forEach((r) => {
  newResult.push({
    id: r.id,
    user: {
      id: r.User.id,
      email: r.User.email,
      username: r.User.username
    }
  });
});

console.log(newResult);
我确信有更好更干净、更高效的方法可以做到这一点。我建议使用lodash贴图功能:


只是一个映射函数

const newResult = [];

result.forEach((r) => {
  newResult.push({
    id: r.id,
    user: {
      id: r.User.id,
      email: r.User.email,
      username: r.User.username
    }
  });
});

console.log(newResult);
我确信有更好更干净、更高效的方法可以做到这一点。我建议使用lodash贴图功能:


您可以使用Array.prototype.map:

结果=[
{
“id”:1,
“用户ID”:2,
“我的朋友”:3,
“状态”:“待定”,
“用户ID”:2,
“用户”:{
“id”:2,
“电子邮件”:toto@gmail.com",
“用户名”:“泰塔”,
“isAdmin”:错,
“isOut”:错误,
“bio”:空,
}
},
{
“id”:2,
“用户ID”:2,
“我的朋友”:1,
“状态”:“待定”,
“用户ID”:2,
“用户”:{
“id”:2,
“电子邮件”:toto@gmail.com",
“用户名”:“泰塔”,
“isAdmin”:错,
“isOut”:错误,
“bio”:空,
}
},
]
let out=result.map(el=>{return{id:el.id,User:{id:el.User.id,email:el.User.email,username:el.User.username}});

控制台。注销您可以使用Array.prototype.map:

结果=[
{
“id”:1,
“用户ID”:2,
“我的朋友”:3,
“状态”:“待定”,
“用户ID”:2,
“用户”:{
“id”:2,
“电子邮件”:toto@gmail.com",
“用户名”:“泰塔”,
“isAdmin”:错,
“isOut”:错误,
“bio”:空,
}
},
{
“id”:2,
“用户ID”:2,
“我的朋友”:1,
“状态”:“待定”,
“用户ID”:2,
“用户”:{
“id”:2,
“电子邮件”:toto@gmail.com",
“用户名”:“泰塔”,
“isAdmin”:错,
“isOut”:错误,
“bio”:空,
}
},
]
let out=result.map(el=>{return{id:el.id,User:{id:el.User.id,email:el.User.email,username:el.User.username}});

控制台。注销你的代码在哪里?Stackoverflow不是免费的代码编写服务……也不是“如何”的教程服务。您需要展示您自己解决问题的尝试,以及帮助您修复代码的人员。我刚过2小时处理此问题,3分钟后有人给我解决方案。我认为这个网站的目的是互相帮助。不……这不是它应该如何工作的。花点时间看看你的代码在哪里?Stackoverflow不是免费的代码编写服务……也不是“如何”的教程服务。您需要展示您自己解决问题的尝试,以及帮助您修复代码的人员。我刚过2小时处理此问题,3分钟后有人给我解决方案。我认为这个网站的目的是互相帮助。不……这不是它应该如何工作的。花点时间阅读