foreach
var arr = [1, 2, 3, 4, 5];
// foreach
arr.foreach(function (item, i, array) )
結果:1 0 [1, 2, 3, 4, 5]
2 1 [1, 2, 3, 4, 5]
3 2 [1, 2, 3, 4, 5]
4 3 [1, 2, 3, 4, 5]
5 4 [1, 2, 3, 4, 5]
map:其最主要的作用就是將原陣列按照一定的規則對映成乙個新的陣列。再將其返回,注意是返回乙個新的陣列,而不是將原陣列直接改變使用方式和foreach類似,也是接受乙個**函式,乙個改變內部this指向的物件。
var arr = [1, 2, 3, 4, 5];
var newarr = arr.map(function (e, i, array) )
結果:["hello 1", "hello 2", "hello 3", "hello 4", "hello 5"] // newarr
[1, 2, 3, 4, 5] // arr
filter 返回乙個新的陣列;
var arr = [1, 2, 3, 4, 5];
var newarr2 = arr.filter(function (e, i, array) )
some vs every some與接下裡的every正好相對,some是只要陣列中的某個值,符合你給定的判斷條件就返回true,而every則是陣列中的所有值都符合你給定的判斷條件的時候才會返回true,否則就返回false,也就是說兩個方法最後得到的都是true or false
var arr = [0, 1, 2, 3, 4, 5];
var result = arr.some(function (e, i, array) ;
});結果 :true
var arr = [0, 1, 2, 3, 4, 5];
var result2 = arr.every(function (e, i, array) ;
});
結果:false
indexof
var arr = [0, 1, 2, 3, 4, 5];
arr.indexof(1) // 1
lastindexof
var arr = [0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0];
arr.lastindexof(1) // 9
reduce:如果沒有傳入initialvalue,則預設是陣列的第一項。第二個及其後面的引數分別是當前值,索引,陣列本身
var arr = [0, 1, 2, 3, 4, 5],
sum = arr.reduce(function (init, cur, i, array) );
//output
sum // 15
reduceright 類似reduce
set 陣列去重
let test = [0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0];
[...new set(test)];
結果:[0,1,2,3,4,5]
from()
let myarray = ;
let arr = array.from(myarray);
console.log(arr); //由於沒有length屬性列印結果為乙個空陣列
let myarray = ;
let arr = array.from(myarray);
console.log(arr); //["a", "b", "c"]
如果引數是乙個真正的陣列,array.from()會返回乙個一模一樣的新陣列
var arr = [1,2,3];
var myarr = array.from(arr);
console.log(myarr); //[1, 2, 3]
myarr[0] = 4;
console.log(myarr); //[4, 2, 3]
keys(),valueof(),entries()方法
keys()遍歷出所有的索引值
for (let index of ['a', 'b'].keys()) //0 1
valueof()遍歷所有的值
for (let index of ['a', 'b'].valueof()) //a b
entries()遍歷值和索引
for (let index of ['a', 'b'].entries()) //[0, "a"] [1, "b"]
es6新增的陣列方法
1.map 給陣列呼叫乙個函式,生成乙個新陣列 let arr 1,2,3,4,5 let newarr arr.map item item 3 console.log newarr 3,6,9,12,15 2.filter 條件篩選出符合條件的資料,生成新陣列 let arr 1,2,3,4,5 ...
ES6新增陣列方法
1.includes 1,2,3 includes 2 indexof要去比較是否不等於 1,表達起來不夠直觀 而且它內部使用嚴格相等運算子 進行判斷,這會導致nan不等於nan 4.擴充套件運算子 console.log 1,2,3 1 2 3 主要用於函式呼叫 es5 的寫法 es6 的寫法 m...
ES6新增陣列方法
1.擴充套件運算子可以將陣列或者物件轉為用逗號分隔的引數序列 let ary 1,2,3 ary 1,2,3 console.log ary 1 2 3,相當於下面的 console.log 1,2,3 2.擴充套件運算子可以應用於合併陣列 let ary1 1,2,3 let ary2 3,4,5...