業務開發過程站常常需要在for迴圈中將某個元素剔除,按照常規的思路,就是對陣列進行乙個for迴圈,然後在迴圈裡面進行if判斷,在判斷中刪除掉指定元素即可。但是由於陣列下標的問題,實際情況往往不會像預想的那樣順利執行。如下所示:
var arr = [1, 2, 2, 3, 4, 5];for (var i = 0; i < arr.length; i++)
}console.log(arr);//[1,2,3,4,5]
此時需要做如下改動,才能達到以下效果:
var arr = [1, 2, 2, 3, 4, 5];for (var i = 0; i < arr.length; i++)
}console.log(arr);
或者倒序迴圈,如下:
var arr = [1, 2, 2, 3, 4, 5];for (var i = arr.length - 1; i >= 0; i--)
}console.log(arr);
或者用while代替for迴圈,如下:
var arr = [1, 2, 2, 3, 4, 5];var i = arr.length;
while(i--)
}console.log(arr);
如何在迴圈中刪除List集合中的元素
一 首先是最基本的for迴圈 for int i 0 iremove 方法刪除元素後會立刻更新list的size,因此index也發生了變化,會導致漏掉某些元素。解決辦法1 在刪除某乙個元素後直接break,當然這種情況只適合刪除乙個特定元素,不適合刪除多個元素。解決辦法2 index回退一位。如下...
Go語言中如何在range迴圈中修改陣列 切片內容
在go語言中,我們經常會使用到range來幫助我們遍歷一些資料,通常情況下都是檢視操作多一些,但是當我們需要對其原位址上的內容進行變更時,通常都是使用 for i 0 i讓資料結構中的元素都儲存為指標型別,這樣在進行修改的時候,就是對位址上的值進行修改,畢竟指標就是乙個位址,拷貝出來的指標仍然指向同...
如何在shell的迴圈中實現字串的拼接
有這麼個需求,提供具體的ip位址和埠號 iplist 172.20.59.238 34994,172.20.59.21 34994,172.20.59.28 34994 想要對這些ip 埠進行處理輸出如下的內容 172.20.59.28 34994 172.20.59.21 34994 172.20...