陣列的合併和升序排列_JavaScript陣列的常用方法
阿新 • • 發佈:2020-12-10
技術標籤:陣列的合併和升序排列
接著上文介紹的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;}); //降序