1. 程式人生 > >12-javaScript-陣列高階API

12-javaScript-陣列高階API

文章配套視訊

sort()方法

按升序排列陣列項——即最小的值位於最前面,最大的值排在最後面。
存在問題?
  只能通過第一位排列。解決問題辦法:通過回掉函式進行規則設定。
    a-b升序
    b-a降序
    內部運用了氣泡排序

slice()方法

用法如下:

返回從原陣列中指定開始下標到結束下標之間的項組成的新陣列。

slice()方法可以接受一或兩個引數,即要返回項的起始和結束位置。

在只有一個引數的情況下, slice()方法返回從該引數指定位置開始到當前陣列末尾的所有項。

如果有兩個引數,該方法返回起始和結束位置之間的項——但不包括結束位置的項。

splice()方法

用法
可以實現刪除、插入和替換

    刪除:可以刪除任意數量的項,只需指定 2 個引數:
    要刪除的第一項的位置和要刪除的項數。
    例如, splice(0,2)會刪除陣列中的前兩項
    插入:可以向指定位置插入任意數量的項,

    只需提供 3 個引數:
    起始位置、 0(要刪除的項數)和要插入的項。
    例如,splice(2,0,11,12)會從當前陣列的位置 2 開始插入11和12。
    替換:可以向指定位置插入任意數量的項,且同時刪除任意數量的項,                                      
    只需指定 3 個引數:起始位置、要刪除的項數和要插入的任意數量的 
    項。插入的項數不必與刪除的項數相等。
    例如,splice (2,1,4,6)會刪除 
    當前陣列位置 2 的項,然後再從位置 2 開始插入4和6。

清空陣列
  arr.splice(0);

###map()方法

“對映”,對陣列中的每一項執行給定函式,返回每次函式呼叫的結果組成的陣列。
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.map(function(item){
return item*item;
});
console.log(arr2); //[1, 4, 9, 16, 25]

filter()方法

“過濾”功能,陣列中的每一項執行給定函式,返回滿足過濾條件組成的陣列。
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var arr2 = arr.filter(function(x, index) {
return index % 3 === 0 || x >= 8;
}); 
console.log(arr2); //[1, 4, 7, 8, 9, 10]

every()方法

判斷陣列中每一項都是否滿足條件,只有所有項都滿足條件,才會返回true。
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.every(function(x) {
return x < 10;
}); 
console.log(arr2); //true
var arr3 = arr.every(function(x) {
return x < 3;
}); 
console.log(arr3); // false

some()方法

判斷陣列中是否存在滿足條件的項,只要有一項滿足條件,就會返回true。
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.some(function(x) {
return x < 3;
}); 
console.log(arr2); //true
var arr3 = arr.some(function(x) {
return x < 1;
}); 
console.log(arr3); // false