瀏覽器Array不改變原陣列方法原理及實現

2021-09-12 08:24:20 字數 1277 閱讀 2316

1.concat //連線兩個陣列,返回新的陣列

array.prototype.

concat

=function()

for(

var i =

0; i < arguments[0]

.length; i++

)return newarr;

}

2.join

//將陣列中的元素通過第乙個引數連線起來,如果沒有傳參,預設為逗號連線

array.prototype.

join

=function()

str +=

this

[i];

return str;

}

3.slice

//將陣列切開,返回切下的部分,引數可以傳乙個或兩個

//兩個引數均可以為負數,真實座標為該負數加陣列長度表示的值

//如果只有乙個引數,則返回第乙個引數代表的真實座標開始到陣列結束的這段陣列

//如果該引數大於陣列長度,則返回空陣列

//如果真實位置小於0,返回整個陣列

//如果引數為兩個,且第乙個小於第二個,返回[第乙個引數,第二個引數)所在區間的數字

//如果真實座標第乙個大於等於第二個引數,返回空陣列

array.prototype.slice = function()

var start = arguments[0] < 0 ? arguments[0] + this.length : arguments[0] > this.length ? this.length-1 : arguments[0];

var end = arguments[1] < 0 ? arguments[1] + this.length : arguments[1] > this.length ? this.length-1 : arguments[1];

if(start > end)else

}return arr;

}

4.陣列去重

array.prototype.

unique

=function()

;var arr =

;var length =

this

.length;

for(

var i =

0; i < length; i ++)}

return arr;

}

瀏覽器Array改變原陣列方法原理及實現

1.push 往陣列末尾新增元素,可一次新增多個 array.prototype.push function return this length 2.pop 移除陣列中的最後乙個元素,引數沒有效果 array.prototype.pop function 3.shift 移除陣列最開始的元素,只能...

js陣列方法之改變或不改變原陣列

pop 將引數從陣列尾部刪除 unshift 將引數新增到陣列頭部 shift 將引數從陣列頭部刪除 reverse 陣列倒序 sort 陣列排序 var arr 2 1,3 4,15 11,14 12 arr.sort a,b a b 1,2,3,4,11,12,14,15 arr.sort a,...

js引用複製如何改變複製陣列不改變原陣列

我們需要知道的是object和array型別的變數為引用型別,也就是說其儲存的實際上並不是具體的值而是乙個指向堆記憶體的位址。因此當我們把乙個引用型別如 陣列 賦值給另乙個變數時,實際上是把另乙個變數指向了與之相同的位址,當我們改變其中乙個時,實際上改變了堆記憶體中的儲存內容 相應的所有指向該位址的...