亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

老師, 數組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;

正在回答

2 回答

恭喜你已經會自問自答了!

0 回復 有任何疑惑可以回復我~
#1

瞅瞅 提問者

哈哈……當時稀疏數組那章節還沒看。 多謝老師!
2015-03-14 回復 有任何疑惑可以回復我~

看了老師稀疏數組的講解,我的理解為

delete 是將該數組元素刪除,元素已不存在,該數組成為稀疏數組。

而賦值=undefined,表示該數組元素仍存在,只是值為undefined,該數組不是稀疏數組。

1 回復 有任何疑惑可以回復我~
#1

Bosn

回答正確
2015-03-14 回復 有任何疑惑可以回復我~
#2

慕仙223896

還是不懂,賦值=undefined,但是數值2已經沒了改成undefined了,再判斷數值2 in arr_2 ,不還應該返回false嘛
2018-08-01 回復 有任何疑惑可以回復我~
#3

qq_慕慕947699 回復 慕仙223896

in操作符:   當“對象”為數組時,“變量”指的是數組的“索引”;(也就是說此時的2是索引2不是值為2)   當“對象”為對象是,“變量”指的是對象的“屬性”。
2019-10-29 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

老師, 數組delete元素arr[2] 和arr[2]=undefined; 兩者的 2 in arr; 結果不同

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號