[英]JavaScript splice() not working
for(var i = 0; i < this.phrases.length; i++) {
console.log('sort ' + this.phrases[i]);
console.log('sort length' + this.phrases.length);
if(this.phrases[i] == null) {
var s = this.phrases.splice(i, 1);
console.log('splice ' + this.phrases[i]);
console.log('splice length ' + this.phrases.length);
}
}
我有一個數組( this.phrases
)。 我在另一部分中將要刪除的短語設為 null。 第一個日志打印null
,第二個日志也打印null
。 為什么不拼接? 這有時也是數組中的最后一項。 你不能拼接一個只有一個元素的數組嗎? 同樣的事情會發生,但是如果它不是this.phrases
的最后一項。
編輯: s
似乎也沒有設置為任何值。
編輯:我添加的兩個長度日志打印相同的數字。
編輯:這實際上不是真的。 奇怪的事情發生在長度上,可能不涉及這部分代碼。 我只想知道我是否正確使用了 splice()。
切換這兩行:
var s = this.phrases.splice(i,1);
console.log('splice ' + this.phrases[i]);
對此:
console.log('splice ' + this.phrases[i]);
this.phrases.splice(i, 1);
i--;
const indexOfValue = treeSelectDataTemp.findIndex((item: any) => item.value === deleteIndexId[d]);
console.log(" ########### deleted indexOfValue ", indexOfValue);
if (indexOfValue !== -1) {
treeSelectDataTemp.splice(indexOfValue, 1);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.