[英]I can't remove this specific items from this array
我知道這很簡單,但是嘗試搜索卻找不到能解決我問題的任何東西。
所以說我有這個數組:
var chicken = [10, 45, 150, 5000, 25000, 100000, 150000];
我想刪除25000以外的所有內容。因此,我嘗試了一個簡單的迭代:
for (var w=0; w<chicken.length; w++){
if (chicken[w]<25000 || chicken[w]>25000){
chicken.splice(w,1);
}
}
而且它不起作用。 輸出為[45,5000,25000,150000],不知道為什么。
它不起作用的原因是因為在splice
每個項目時陣列長度正在變化。 如果要循環和刪除,請使用反向循環:
for (var i = chicken.length - 1; i >= 0; i--) {
if (chicken[i] !== 25000) chicken.splice(i, 1);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.