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
}
}
}
}