JS中陣列方法的封裝之slice

2022-07-08 22:36:17 字數 1123 閱讀 7809

slice方法的功能

// 1) : 陣列的擷取

// 2) :slice(m,n): 從陣列索引m開始,擷取到索引n,但是不包含n;[前包後不包]

// slice(m) : 從索引m開始,擷取到末尾;

// slice():陣列的轉殖 slice(0);

// // 索引負數: 讓當前length+負數;

// 3) : 返回值是擷取的陣列

// 4) : 原有陣列不發生改變;

/*** 首先:先分清楚slice有幾種情況,slice的思想

* 傳的引數可以是其他型別的資料,只要能轉成有效數字就可以(所以引數的型別要求比較靈活)

* 其次,要注意的是只有第乙個和第二個引數為有效引數,第三個及第三個以後的引數將對擷取的結果不產生影響

** 對引數的處理:

* 我們暫且把第乙個引數給變數start,第二個引數給變數end

* 1.當引數1、引數2同時為undefined或者其中乙個為undefined的情況下

* 情況1:引數1為undefined時,直接取start=0

* 情況2:引數2為undefined時,直接取end=this.length

** 2.當引數1和引數2都不是undefined的情況下

* 情況1:當第乙個引數為負數的情況下:start取this.length與引數中的最大值;當第乙個引數大於等於0的情況下,start直接取自己

* 情況2:當第二個引數為負數的情況下,end取this.length與end的和;當引數大於0,end取this.length與end中的最小值

** 對區間長度的處理:設定size=end-start

* 情況1:當區間長度小於等於0的情況下,直接返回空陣列

* 情況2:當區間長度大於0的情況下,不管對於字串還是陣列,建立乙個長度為size的陣列,依次從start到end,賦值給新的陣列,將新陣列返回

** @type

*/附上**:

array.prototype.myslice = function (start,end) 

}else

return newary;

};

JS中陣列方法的封裝之slice

slice方法的功能 1 陣列的擷取 2 slice m,n 從陣列索引m開始,擷取到索引n,但是不包含n 前包後不包 slice m 從索引m開始,擷取到末尾 slice 陣列的轉殖 slice 0 索引負數 讓當前length 負數 3 返回值是擷取的陣列 4 原有陣列不發生改變 首先 先分清楚...

封裝陣列方法

標籤 空格分隔 未分類 push 1 封裝乙個函式,這個函式的名字叫做 push 2 這個函式的引數,第乙個是乙個陣列,第二個以後是任意的資料 3 呼叫這個函式,那麼會把第二個以後的所有引數,依次放到第乙個引數也就是那個陣列的最後乙個位置。4 這個函式返回值,是放入這些資料之後陣列的長度。var a...

陣列方法之forEach底層封裝

foreach方法是es5新增的陣列方法,用於陣列的迴圈遍歷,只有乙個引數,需要傳入乙個函式,很多人說是有三個引數,其實這種說話是錯誤的,是他的引數函式有三個形參,而不是foreach方法有三個引數。1 foreach方法接受乙個函式引數,該函式引數中有三個形參,當然有些形參用不到就可以不宣告。2 ...