Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 循环遍历对象的特定数组并指定给新对象_Javascript_Arrays_Reactjs_Loops_Object - Fatal编程技术网

Javascript 循环遍历对象的特定数组并指定给新对象

Javascript 循环遍历对象的特定数组并指定给新对象,javascript,arrays,reactjs,loops,object,Javascript,Arrays,Reactjs,Loops,Object,我有以下来自后端的用户数据userData可以为空或userData。accountDetails可以为空。我需要具体地循环查看userData.accountDetails。并将整个对象userData分配给一个新对象newUserData const userData = { age:45, sex: 'Male', accountDetails: [ { accountId: '4567', accountName: 'checkings',

我有以下来自后端的用户数据
userData
可以为空或
userData。accountDetails
可以为空。我需要具体地循环查看
userData.accountDetails
。并将整个对象
userData
分配给一个新对象
newUserData

const userData = {
  age:45,
  sex: 'Male',
  accountDetails: [
    {
      accountId: '4567',
      accountName: 'checkings',
      balance: 3000,
    },
    {
      accountId: '1234',
      accountName: 'savings',
      balance: 3000,
    }
  ]
}
为了实现这一点,我执行以下步骤

const newUserData = null;
if(userData !== null && userData !== undefined) {
  newUserData.age = userData.age,
  newUserData.sex = userData.sex,
  
  if(userData.accountDetails !== null && userData.accountDetails !== undefined) {
    newUserData.accountDetails = userData.accountDetails.map(el => {
      return {
        accountId: el.accountId,
        accountName:el.accountName,
        balance: el.balance + 10;
      }
    }
  }
}

请注意,我正在执行
el.balance+10
操作,因为我希望将新对象的余额10添加到原始余额中。实际上我有一个更复杂的计算要做,但我简化了这个例子


当前代码不起作用,它不会进入循环并在控制台中退出,而不会给出错误消息。我如何实现对象的重新分配,并通过accountDetails数组循环,以按照上述要求获得新对象。

您可以像绘制年龄和性别一样绘制它。此外,您还可以通过执行
if(userData)


数据中的
male
后缺少引号。@LouysPatricebesette-抱歉,我在这里输入代码时,输入的是一个错误。更正它这里有几个打字错误。。。但主要问题是将
newUserData
声明为
null
,而不是空对象。看到你在这个@LouysPatriceBesette中工作的代码了-的确如此。这是个错误。我想如果我把它赋值为空。我以后可以决定对象的结构。但是创建部分应该作为一个对象提到。谢谢你的更正
const newUserData = null;
if(userData) {
  newUserData.age = userData.age,
  newUserData.sex = userData.sex,
  
  if(userData.accountDetails) {
    newUserData.accountDetails.Id = el.accountId
    newUserData.accountDetails.accountName = el.accountName
    newUserData.accountDetails.balance = el.balance + 10
      }
    }
  }
}