在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 數(shù)組刪除指定元素問題。

數(shù)組刪除指定元素問題。

定義了兩個(gè)數(shù)組,在數(shù)組原型鏈中添加了一個(gè)remove函數(shù),現(xiàn)在要?jiǎng)h除數(shù)組中指定項(xiàng),如果數(shù)組元素是數(shù)字沒有問題,如果數(shù)組元素是對(duì)象就remove函數(shù)就只有一個(gè)有用,什么原因?
圖片描述
圖片描述

回答
編輯回答
話寡

string 和 number 是通過值來判斷,而對(duì)象一般通過指針指向的內(nèi)存地址來判斷,你比較的兩個(gè)對(duì)象的指針指向位置不一樣,所以返回為false。我們判斷兩個(gè)對(duì)象是否相等,一般遍歷兩個(gè)對(duì)象的屬性,看他們是否相等,這個(gè)你可以參考loadsh的isEqual方法的實(shí)現(xiàn)。

2018年6月2日 09:31
編輯回答
汐顏

因?yàn)?A2 中沒有 A1[1],所以即使看起來一樣,也是刪不掉的;A1 中 當(dāng)然有 A1[1];

A1.remove(num);//成功,等價(jià)于A1.remove(A1[1]);
A2.remove(num);//失敗,等價(jià)于A2.remove(A1[1]);

因?yàn)槿我鈨蓚€(gè)對(duì)象不相等,除非引用相同;

也就是說,

{x:1}!={x:1}//true

除非:

let a={x:1};
b=a;
c=a;
b!=c;//false,因?yàn)?a,b,c 指向的都是同一個(gè)對(duì)象

所以:

[{x:1}].indexOf({x:1});// -1

[a].indexOf(a);//0 ,還是上面那個(gè) a,b,c
[a].indexOf(b);//0 ,還是上面那個(gè) a,b,c
[a].indexOf(c);//0 ,還是上面那個(gè) a,b,c

ps:該放代碼的地方不要放截圖

2017年4月20日 16:24