-
千万里不及你
formThead.forEach((item) => { item.isShow = formTheadData.includes(item.value);});
-
慕无忌1623718
更新 2let hash = formTheadData.reduce((p, c) => [p[c] = 0, p][1], {});// 得到 hash// {// oppoProjectName: 0,// customerName: 0// }formThead.forEach((item) => { // 不使用 includes 来检索数据 // item.isShow = formTheadData.includes(item.value); item.isShow = !!hash[item.value]});这样就可以避免循环嵌套,性能可以有大幅提升。filter 是会返回一个新数组的,因此这个解法很有问题。非常抱歉,由于不是专职前端,这些细节容易忽略,误导题主和各位了。原答案:formThead.filter(h => formTheadData.indexOf(h.value) === -1).forEach(h => h.isShow = false)
-
芜湖不芜
var formThead= [ { label:'机会名称', value:'oppoProjectName', isShow:true }, { label:'客户名称', value:'customerName', isShow:true }, { label:'销售', value:'saleName', isShow:true } ] formTheadData=['oppoProjectName','customerName'] for(var i=0;i<formThead.length;i++){ for(var j=0;j<formTheadData.length;j++){ if(formThead[i].value==formTheadData[j]){ formThead[i].isShow=true }else{ formThead[i].isShow=false } } }
-
慕田峪7331174
formThead.map((item) => { item.isShow = false; formTheadData.some((el,index) => { if(item.value == el){ item.isShow = true; formTheadData.splice(index,1); return true; } })})
-
MM们
“如果在formThead中任何一位的value都不在formTheadData中 就把对用的formThead中的isShow变成false”楼主你能先解释下你这句话的意思吗?只从字面理解的话,只要formThead中的所有item的value都不在formTheadData中的话,就把formThead中所有的item的value变成false。但是貌似你又想表达formThead如果有item的value不存在formTheadData中的就把它的isShow置为false。