簡體   English   中英

我無法從此數組中刪除此特定項目

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM