老師, 數(shù)組delete元素arr[2] 和arr[2]=undefined; 兩者的 2 in arr; 結(jié)果不同
數(shù)組delete元素arr[2]? 和arr[2]=undefined;? 兩者的 2 in arr; 為何返回值分別為false和true不同呢?這是跟數(shù)組的原型鏈有關(guān)嗎
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
恭喜你已經(jīng)會(huì)自問自答了!
2015-03-14
看了老師稀疏數(shù)組的講解,我的理解為
delete 是將該數(shù)組元素刪除,元素已不存在,該數(shù)組成為稀疏數(shù)組。
而賦值=undefined,表示該數(shù)組元素仍存在,只是值為undefined,該數(shù)組不是稀疏數(shù)組。