12-javaScript-陣列高階API
阿新 • • 發佈:2018-11-30
文章配套視訊
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