Javascript 无法通过迭代项数据形成结构并更新除currentTab以外的值
我试图通过迭代items数据和只更新值来形成类似expectedOutput的结构 如果匹配除项目数据中存在的currentTab之外的助记符Javascript 无法通过迭代项数据形成结构并更新除currentTab以外的值,javascript,Javascript,我试图通过迭代items数据和只更新值来形成类似expectedOutput的结构 如果匹配除项目数据中存在的currentTab之外的助记符 let items=[{tab:'tab1',info:[{助记符:'first',值:'alm'},{助记符:'second',值:'jim'}]}, {tab:'tab2',信息:[{助记符:'first',值:'kim'},{助记符:'second',值:'tim'}]}, {tab:'tab3',信息:[{助记符:'first',值:'wint
let items=[{tab:'tab1',info:[{助记符:'first',值:'alm'},{助记符:'second',值:'jim'}]},
{tab:'tab2',信息:[{助记符:'first',值:'kim'},{助记符:'second',值:'tim'}]},
{tab:'tab3',信息:[{助记符:'first',值:'wint'},{助记符:'second',值:'telt'}]}]
设currentTab='tab1';
设obj={助记符:'first',值:'newValue'}
让expectedOutput=[{tab:'tab1',info:[{助记符:'first',值:'alm'},{助记符:'second',值:'jim'}]},
{tab:'tab2',info:[{助记符:'first',值:'newValue'},{助记符:'second',值:'tim'}]},
{tab:'tab3',info:[{mnemonic:'first',value:'newValue'},{mnemonic:'second',value:'telt'}]}]
您可以在项目上运行循环并签入每个信息数组。如果菜单项匹配,则更新相同的菜单项
let项目=[{
选项卡:“选项卡1”,
信息:[{
记忆法:“第一”,
值:“alm”
}, {
助记符:“第二个”,
价值观:“吉姆”
}]
},
{
tab:'tab2',
信息:[{
记忆法:“第一”,
价值观:“金”
}, {
助记符:“第二个”,
价值观:“蒂姆”
}]
},
{
选项卡:“选项卡3”,
信息:[{
记忆法:“第一”,
值:“wint”
}, {
助记符:“第二个”,
值:“telt”
}]
}
]
设currentTab='tab1';
设obj={
记忆法:“第一”,
值:“newValue”
}
const res=items.map(item=>{
let info=[]
如果(item.tab!=当前选项卡){
item.info.forEach(it=>{
const temp={…它
}
如果(临时助记符===对象助记符){
温度值=目标值
}
信息推送(临时)
})
}
const t=info.length?[…info]:[…item.info]
返回{
选项卡:item.tab,
信息:[…t]
}
})
控制台日志(res);
console.log(items)
是否需要条件检查,能否解释const t=info.length?[…信息]:[…item.info]如果我们有数据的副本,则取另一个,取原始数据。为了保留其他值,此检查是必要的