1. 程式人生 > 其它 >陣列的合併和升序排列_JavaScript陣列的常用方法

陣列的合併和升序排列_JavaScript陣列的常用方法

技術標籤:陣列的合併和升序排列

接著上文介紹的JavaScript陣列的基本概念和定義、使用方法後,本文重點介紹陣列的常用方法。

7.向陣列中新增新元素

使用push()方法比如

var animals = [“dog”, “cat”, “pig”];
animals.push(“cow”);

或者使用length下標方法,比如

animals[animals.length] = “cow”;

8.陣列方法

8.1 toString()把陣列值轉化為以逗號分隔的字串。

var animals = [“dog”, “cat”, “pig”];console.log(animals.toString())

結果為:dog,cat,pig

8.2 join()把陣列值轉化為自定義字元分隔的字串

var animals = [“dog”, “cat”, “pig”];console.log(animals.join(“*”))

的結果為:dog*cat*pig

8.3 push()入棧和pop()出棧

push()向陣列尾部新增新元素,並返回新陣列的長度。

var animals = [“dog”, “cat”, “pig”];var len = animals.push(“cow”); //新陣列結果為[“dog”, “cat”, “pig”,“cow”],len的值為4

pop()彈出(或刪除)陣列尾部的元素,返回被彈出的元素。

var animals = [“dog”, “cat”, “pig”];var animal = animals.pop(); //新陣列結果為[“dog”, “cat”],animal的值為“pig”。

8.4 unshift()反向位移和shift()位移

unshift()在陣列首位新增新元素,並返回新陣列的長度。

var animals = [“dog”, “cat”, “pig”];var len = animals.unshift(“cow”);//結果為[“cow”,“dog”, “cat”, “pig”],len的值為4

shift()刪除陣列的首個元素,其他元素的下標前移,並返回刪除的元素。

var animals = [“dog”, “cat”, “pig”];var animal = animals.shift();//結果為[“dog”, “cat”, “pig”],animal的值為“cow”。

8.5 splice()用於向陣列新增新元素或刪除元素

var animals = [“dog”, “cat”, “pig”];var removeds = animals.splice(1,2,“sheep”, “chick”);//原陣列為新增或刪除後的陣列,返回值為刪除的陣列元素組成的陣列。

結果為animals:[“dog”, “sheep”, “chick”],removed:[“cat”, “pig”];

說明:第一個引數為新增陣列元素的開始位置;

第二個元素為從第一個引數開始,刪除元素的個數;

第三個及以後的引數為新新增的元素。

8.6 concat()合併現有陣列並返回一個新陣列,不會改變原有陣列的值。

var animal1s = [“dog”, “cat”, “pig”];var animal2s = [“sheep”, “chick”];var animals = animals.concat(animals);或者var animals = animals.concat([“sheep”, “chick”]);

結果為: [“dog”, “cat”, “pig”,“sheep”, “chick”]

8.7 slice()用陣列的某個片段切出新陣列。

var animal1s = [“dog”, “cat”, “pig”,“sheep”, “chick”];var animals = animal1s.slice(1,4);

結果為[“cat”, “pig”,“sheep”]

說明:第一個引數為開始位置,上例中從第1(下標)個元素開始。

第二個引數為結束位置,但是不包括結束位置,所以上例中不包括下標為4的元素。如果省略第二個引數值,則取值到尾部,包含尾部元素。

8.8 sort()以字母順序對陣列進行排序,改變原陣列的值。

如果對數字進行排序會得到錯誤的結果,比如100會排到25的前面,但是如何對數字進行排序呢?可以使用回撥函式的方式。比如

var points = [40, 100, 1, 5, 25, 10];points.sort(function(a,b){return a-b;}); //升序points.sort(function(a,b){return b-a;}); //降序

8.9 reverse() 反轉陣列中的元素,即從尾部到頭部重新排列。和sort()一起用,可以實現倒序排列。

11467ddde5254a422d8bbecaa1454356.png