題目描述JS中Array是可變長的,如果沒有定義值默認是undefined相關代碼var arr = [0,1,2];
arr[10]=10;
arr.filter(function(x){ return x===undefined})期待結果題目中只給arr設置了[0,1,2],然后設置arr[10]=10,此時的arr應該是等于[0,1,2,undefined*7,10],然后對這個數組進行過濾操作,會返回等于undefined的項,即返回的應該是[undefined*7]。但是實際的操作結果都是空函數[],然后在filter內部輸出x,即var arr = [0,1,2];
arr[10]=10;
arr.filter(function(x){ console.log(x); return x===undefined})發現也只會輸出0,1,2,10??磥鞰DN上面也沒有關于這個的解釋,所以希望大神能幫忙解答一下,你們將拯救一顆受傷的心靈于水生火熱之中,非常感謝大家。
關于js中arr的可變長度
慕田峪9158850
2018-09-24 18:06:27