一、檢測陣列
array.isarray():確定某個值是不是陣列
二、轉換方法var arr = [1,2,3];
array.isarray(arr);// true
1.tostring():返回由陣列中每個值的字串形式拼接而成的乙個以逗號分隔的字串
2.valueof():返回陣列本身
3.join(): join()方法只接受乙個引數,作為字串的分隔符var colors = ["red", "blue", "green"];
alert(colors.tostring());//red,blue,green
alert(colors.valueof());//red,blue,green
三、棧方法var colors = ["red", "blue", "green"];
alert(colors.join(","));//red,blue,green
alert(colors.join("||"));//red||blue||green
1.push(): push()方法可以接受任意數量的引數,把他們逐個新增到陣列的末尾,並返回修改後陣列的長度。
2.pop(): pop()方法可以從陣列末尾移除最後一項,減少陣列的length值,然後返回移除的項。
四、佇列方法var num = ;
var count = num.push("1", "2");
alert(count);//2
var numbers = num.pop();
alert(numbers);//"2"
alert(numbers.length);//1
1.push():同棧方法中的push()。
2.shift():該方法取得陣列的第一項,返回取出的值。
3.unshift():與shift()的用途相反,能在陣列前端新增任意個項並返回新陣列的長度。
五、重排序方法var num = ;
var count = num.push("1", "2", "3");
alert(count);//3
var numbers = num.shift();
alert(numbers);//"1"
alert(num.length);//2
var item = num.unshift("4");
alert(item); //3
1.reverse():反轉陣列項的順序。
2.sort():在預設情況下,sort()方法按公升序排列陣列項。為了實現排序,sort()方法會呼叫每個陣列項的tostring()轉型方法,然後比較得到字串。但是sort()方法並不是乙個好的方法,比如:var values = [1,2,3,4,5];
values.reverse();
alert(values);//
5,4,3,2,1
因為數值5雖然小於10,但是進行字串比較時,「10」位於「5」的前面,所以陣列的順序就被修改了。var values = [0, 1, 5, 10, 15];
values.sort();
alert(values);//
0,1,10,15,5
因此sort()方法可以接受乙個比較函式作為引數,來指定哪個值位於哪個值前面。
比較函式接受兩個引數,如果第乙個引數應該位於第二個之前則返回乙個負數,兩個引數相等返回0,第乙個引數應該位於第二個之後則返回乙個正數。比如:
六、操作方法function
compare
(num1, num2)
var values = [0, 1, 5, 10, 15];
values.sort(compare);
alert(values);//0,1,5,10,15
1.concat():用於合併兩個或多個陣列。此方法不會更改現有陣列,而是返回乙個新陣列。
2.slice():slice()方法可以接受乙個或兩個引數,即要返回項的起始和結束位置。它能夠基於當前陣列中的乙個或多個項建立乙個新陣列。var num1 = [1, 2, 3];
var num2 = [4, 5, 6];
var num3 = num1.concat(num2);//1,2,3,4,5,6
當只有乙個引數時,slice()方法返回從該引數指定的位置開始到當前陣列末尾的所有項。
當有兩個引數是,返回從第乙個引數指定的位置開始到第二個引數指定位置的前一項。比如slice(1,5)是指取陣列的第二項到第五項。
3.splice()方法:var num = [1,2,3,4,5,6];
var num1 = num.slice(1);
var num2 = num.slice(1,5);
alert(num1);//2,3,4,5,6
alert(num2);//2,3,4,5
splice()有很多用法,主要的用途是向陣列的中部插入項,但使用這種方法的方式有以下三種:
(1)刪除:可以刪除任意數量的項,只需指定兩個引數:要刪除的第一項的位置和要刪除的項數。例如,splice(0,2)會刪除陣列中的前兩項。
(2)插入:可以向指定位置插入任意數量的項,只需提供3個引數:起始位置,0(要刪除的項數),要插入的值。如果要插入多個項,可以傳入任意多個值。比如,splice(1,0,」1」,」2」)會在第乙個位置插入「1」和「2」。
(3)替換:可以向指定位置插入任意數量的項,且同時刪除任意數量的項,只需指定3個引數:起始位置,要刪除的項數,要插入的任意數量的項。插入的項數不必與刪除的項數相等。例如,splice(1,2,」1」,」2」,」3」)會刪除第
一、二位置的值並插入」1」,」2」,」3」。
七、位置方法
indexof()和lastindexof():都接受兩個引數:要查詢的項和(可選的)表示查詢起點位置的索引。其中,indexof()方法從陣列的開頭開始向後查詢,lastindexof()則從陣列的末尾開始向前查詢。在沒有找到的情況下返回-1.
八、迭代方法var num = [1, 2, 3, 4, 5, 4, 3, 2, 1];
alert(num.indexof(4));//3
alert(num.lastindexof(4));//5
alert(num.indexof(4, 4));//5
alert(num.lastindexof(4, 4));//3
1.every():對陣列中的每一項執行給定函式,如果該函式對每一項都返回true,則返回true。
2.fliter():對陣列中的每一項執行給定函式,返回該函式會返回true的項組成的陣列。var num = [1, 2, 3, 4, 5, 4, 3, 2, 1];
var everyresult = num.every(function
(item));
alert(everyresult);//false
3.foreach():對陣列中的每一項執行給定函式,這個方法沒有返回值,本質上與for迴圈迭代陣列一樣。var num = [1, 2, 3, 4, 5, 4, 3, 2, 1];
var filterresult = num.fliter(function
(item));
alert(filterresult);//[3, 4, 5, 4, 3]
4.map():對陣列中的每一項執行給定函式,返回每次函式呼叫的結果組成的陣列。var num = [1, 2, 3, 4, 5, 4, 3, 2, 1];
num.foreach(function
());
5.some():對陣列中的每一項執行給定函式,如果該函式對任意一項返回true,則返回true。var num = [1, 2, 3, 4, 5, 4, 3, 2, 1];
var mapresult = num.map(function
(item));
alert(mapresult);//[2, 4, 6, 8, 10, 8, 6, 4, 2]
var num = [1, 2, 3, 4, 5, 4, 3, 2, 1];
var someresult = num.some(function
(item));
alert(someresult);//true
js array 物件方法總結
1.push 後增 push 向陣列的末尾新增乙個或多個元素,並返回新的長度 尾部新增 var a 1,2,3 var b a.push 4 console.log a 1,2,3,4 console.log b 4 2.unshift 前增 unshift 向陣列的開頭新增乙個或多個元素,並返回新...
第203天 js Array物件常用方法
1 shift 刪除原陣列的第一項,返回刪除元素的值 如果陣列為空則返回undefined 2 var arr 1,2,3,4,5 3 var out arr.shift 4 console.log arr 2,3,4,5 5 console.log out 1 6 var arr 7 var ou...
js Array物件的一些方法 面試
那一天月黑風高,面試官問我陣列的方法,我竟然無言以對 陣列的屬性 constructor 返回建立陣列物件的原型函式 length 設定或返回陣列元素的個數 prototype 允許你向陣列物件新增屬性或者方法 array物件方法 說一些就行了 concat 連線兩個或更多的陣列,並返回結果 也可以...