朋友们,我遇到了一个问题:我有一个字符串数组,并且有一个循环,根据想法,应该从该数组中删除所有包含“**”(两个星号)的行:
let arr = [
'** Characters name **',
'h0: Maks',
'd0: Narrator',
'n0: Merlin',
'n1: Kitty',
'n12: Berta',
'** Например, вот здесь можно встатить свой комментарий или какое-то замечание. **',
'** И это никак не скажется на работе эмулятора. **',
]
for (var i = 0; i < arr.length; i++) {
if (arr[i].includes('**')) {
arr.splice(i, 1)
}
}
console.log(arr)
但问题是,由于我不知道的原因,数组的最后一个元素虽然在行中有“**”,但永远不会被删除......告诉我为什么会发生这种情况以及如何在不破坏逻辑的情况下修复它循环中还包含其他数组吗?当然,您可以添加+1到arr.length,但是存在会破坏其他内容的风险。
只是在删除时不要更改元素索引