在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 如何優(yōu)雅實(shí)現(xiàn)判斷數(shù)組存在某個元素就移除該元素不存在就添加該元素?

如何優(yōu)雅實(shí)現(xiàn)判斷數(shù)組存在某個元素就移除該元素不存在就添加該元素?

有個需求要實(shí)現(xiàn)當(dāng)數(shù)組存在某一個元素時移除數(shù)組中該元素,當(dāng)數(shù)組不存在該元素時向該數(shù)組添加該元素。
我是這樣實(shí)現(xiàn)的,請問是否有更加優(yōu)美或者方便的寫法?請不吝賜教!

selectTag(row, id) {
    if (row.tagId.indexOf(id) > -1) {
         row.tagId = row.tagId.filter(n => n !== id)
    } else {
        row.tagId.push(id)
    }
}
回答
編輯回答
避風(fēng)港

有沒有更好的方法先不說,你的數(shù)組刪除元素的方式有待商榷,既然已經(jīng)調(diào)用了indexof方法,就應(yīng)該用splice方法刪除元素,你這樣相當(dāng)于又遍歷了一遍數(shù)組。

let pos = arr.indexOf(x);
if (pos < 0){
  arr.push(x)
} else {
  arr.splice(pos, 1)
} 
2018年4月27日 17:39
編輯回答
久舊酒
selectTag(row, id) {
    row.tagId.includes(id) ? row.tagId = row.tagId.filter(n => n !== id) : row.tagId.push(id)
}
2017年5月9日 21:13