Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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 无法通过迭代项数据形成结构并更新除currentTab以外的值_Javascript - Fatal编程技术网

Javascript 无法通过迭代项数据形成结构并更新除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

我试图通过迭代items数据和只更新值来形成类似expectedOutput的结构 如果匹配除项目数据中存在的currentTab之外的助记符

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]如果我们有数据的副本,则取另一个,取原始数据。为了保留其他值,此检查是必要的