JS 移除陣列元素錯誤案例 |用각각 접합
2738 단어 webdevjavascript
情況
移除不符合條件的陣列元素,例如移除'e'的元素
let list = ['a', 'b', 'c', 'e']
list.forEach((item, index, arr) => {
if(item === 'e') {
arr.splice(index, 1)
}
})
(splice方法第一個參數是欲刪除元素的位置,第二個是欲刪除幾個元素)
錯誤原因
使用map或forEach等迴圈相關的方法時,不要在迴圈內移除或增加陣列長度,否則陣列的指向會錯誤.
解決方法
사용하는 필터()를 사용하여 합체
let list = ['a', 'b', 'c', 'e']
let filterList = list.filter(item => {
return item !== 'e'
})
Reference
이 문제에 관하여(JS 移除陣列元素錯誤案例 |用각각 접합), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/yubo0826/js-yi-chu-zhen-lie-yuan-su-cuo-wu-an-li-yong-foreachda-pei-splice-1ai5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)