forEach加三元运算符实现对数组中对象属性的改变:
onLoad: function (options) {
const tabsIsActiveIndex=options.tabsIsActiveIndex;
let tabs=this.data.tabs;
tabs.forEach((v,i)=>i===tabsIsActiveIndex?v.isActive=true:v.isActive=false);
this.setData({
tabs
})
},
写forEach((v,i)=>i===tabsIsActiveIndex?v.isActive=true:v.isActive=false)就不行,写forEach((v,i)=>i===1?v.isActive=true:v.isActive=false)就行,问题是这里tabsIsActiveIndex确实取到值了,比如为1。
写forEach((v,i)=>i==tabsIsActiveIndex?v.isActive=true:v.isActive=false)就行,为什么用==就行?