老師, 數組delete元素arr[2] 和arr[2]=undefined; 兩者的 2 in arr; 結果不同
數組delete元素arr[2]? 和arr[2]=undefined;? 兩者的 2 in arr; 為何返回值分別為false和true不同呢?這是跟數組的原型鏈有關嗎
var?arr_1=[0,1,2,3,4]; delete?arr_1[2]; 2?in?arr_1;
和
var?arr_2=[0,1,2,3,4]; arr_2[2]=undefined; 2?in?arr_2;
2015-03-14
恭喜你已經會自問自答了!
2015-03-14
看了老師稀疏數組的講解,我的理解為
delete 是將該數組元素刪除,元素已不存在,該數組成為稀疏數組。
而賦值=undefined,表示該數組元素仍存在,只是值為undefined,該數組不是稀疏數組。