數(shù)組去重函數(shù)中的變量j怎么是undefined?
數(shù)組去重函數(shù)(見下圖及代碼),第一次循環(huán)時(shí)i=0,最里面的for循環(huán)中var j = i+1,j為什么不等于1,反而等于undefined?導(dǎo)致only([5])的結(jié)果是[]
PS:我的理解是盡管j<len條件不成立,j已經(jīng)被賦值為1了,哪里出了問(wèn)題?
(1)調(diào)試截圖:
(2)代碼:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>dd</title> </head> <body> <script type="text/javascript"> function only(arr){ var newArr = [], len = arr.length; for(var i = 0;i<len-1;i<愛尬聊_百科知識(shí)>++){ for(var j = i+1;j<len;j++){ if(arr[i]===arr[j]){ j = false; break; } } if(j){ newArr.push(arr[i]); } } return newArr; } console.log(only([5])) </script> </body> </html>
數(shù)碼游戲與你分享 2小時(shí)前
外層循環(huán) for(var i = 0;i<len-1;i++){ }就沒執(zhí)行啊你這句相當(dāng)于 當(dāng)i=0開始,i<0結(jié)束 ,循環(huán)進(jìn)不去 正確的應(yīng)該是 for(var i = 0;i<len;i++){ } 吧
橙子好甜呀 1小時(shí)前
j肯定是undefinedj是for(var j = i+1;j<len;j++){}循環(huán)的局部變量而if(j){}判斷不在for(var j=i+1;j<len;j++){}循環(huán)內(nèi)
ty_麗24 1小時(shí)前
JavaScript肯定判斷j變量未定義,則肯定undefined
