js陣列方法解析

2022-07-22 12:00:21 字數 1864 閱讀 5007

join()

1

//陣列轉字串

2var arr = [1,2,3];

3 console.log(arr.join()); //

1,2,3

4 console.log(arr.join("-")); //

1-2-35//

通過join()方法可以實現重複字串,只需傳入字串以及重複的次數,就能返回重複後的字串,函式如下:

6function

repeatstring(str, n)

9 console.log(repeatstring("abc", 3)); //

abcabcabc

10 console.log(repeatstring("hi", 5)); //

hihihihihi

push()和pop()

1

push(): 可以接收任意數量的引數,把它們逐個新增到陣列末尾,並返回修改後陣列的長度。

2 pop():陣列末尾移除最後一項,減少陣列的 length 值,然後返回移除的項。

shift() 和 unshift()

1

shift():刪除原陣列第一項,並返回刪除元素的值;如果陣列為空則返回undefined 。

2 unshift:將引數新增到原陣列開頭,並返回陣列的長度 。

sort()

1

//sort():按公升序排列陣列項,即最小的值位於最前面,最大的值排在最後面2//

在排序時,sort()方法會呼叫每個陣列項的 tostring()轉型方法,然後比較得到的字串,以確定如何排序。即使陣列中的每一項都是數值, sort()方法比較的也是字串,因此會出現以下的這種情況:

3 let arr1 = ["a", "d", "c", "b"];

4 console.log(arr1.sort()); //

["a", "b", "c", "d"]

5 let arr2 = [13, 24, 51, 3];

6 console.log(arr2.sort()); //

[13, 24, 3, 51]

7 console.log(arr2); //

[13, 24, 3, 51](元陣列被改變)89

//為了解決上述問題,sort()方法可以接收乙個比較函式作為引數,以便指定哪個值位於哪個值的前面。比較函式接收兩個引數,如果第乙個引數應該位於第二個之前則返回乙個負數,如果兩個引數相等則返回 0,如果第乙個引數應該位於第二個之後則返回乙個正數。以下就是乙個簡單的比較函式:

10function

compare(value1, value2) else

if (value1 >value2) else18}

19 let arr2 = [13, 24, 51, 3];

20 console.log(arr2.sort(compare)); //

[3, 13, 24, 51]

21//

如果需要通過比較函式產生降序排序的結果,只要交換比較函式返回的值即可:

22function

compare(value1, value2) else

if (value1 >value2) else30}

31 let arr2 = [13, 24, 51, 3];

32 console.log(arr2.sort(compare)); //

[51, 24, 13, 3]

reverse()

concat()

slice()

splice()

indexof()和 lastindexof()

js陣列方法

array.json 方法將陣列中所有元素都轉化為字串並連線在一起 預設逗號 返回生成的字串,原陣列不改變 例 var a 1 2,3 a.join 1,2,3 a.join 1 2 3 array.reverse 方法將陣列中的元素顛倒順序 返回逆序的陣列,原陣列改變 例 var a 1,2,3 ...

JS陣列方法

tostring var ary 1,2,3,4,5,6 var str ary.tostring console.log str console.log typeof str push 陣列尾部新增陣列 pop 從陣列尾部刪除乙個元素 unshift 在陣列的第乙個元素前面插入乙個或多個元素 sh...

js陣列方法

陣列包含 iscontain function arr1,arr2 return true 陣列排序 isincrease true遞增 小 大 isincrease false遞減 大 小 arrcompare function property,isincrease else 二維陣列轉一維陣列...