數組的方法

//數組合並
var zero = 0;
var firstarr = [1,2,3];
var secondarr = [-1,-2,-3];
var resultarr = firstarr.concat(zero,secondarr);//[1, 2, 3, 0, -1, -2, -3]


//迭代器函數
var isEven = function(x){
    return x%2 == 0? true : false;
}
var number = [1,2,3,4,5,6,7,8,9,10];

//1.用every方法,對數組中的每一項給定函數,如果該函數對每一項都返回true,則返回true
number.every(isEven);//false

//2.用some方法,對數組中的每一項給定函數,如果任一項返回true,則返回true
number.some(isEven);//true

//3.用forEach,和for一樣,對每一個運行給定函數,沒有返回值
number.forEach(function(x){
    console.log((x%2 == 0));//false, true, false, true, false, true, false, true, false, true
});

//4.使用map和filter方法
//map方法。對數組中的每一項運行給定函數,返回每次函數調用的結果組成的數組
var mymap = number.map(isEven);//[false, true, false, true, false, true, false, true, false, true]
//使用filter方法,對數組的每一項運行給定函數,返回該函數會返回true的項組成的數組
var myfilter = number.filter(isEven);//[2, 4, 6, 8, 10]

//5.reduce方法
var myreduce=number.reduce(function(pre,cur,index){
    return pre + cur;
})



//es6新的迭代,返回一個包含數組鍵值對的迭代器對象,可以通過同步調用得到數組元素的鍵值對
let iterator = number[Symbol.iterator]();

//Array.from方法,來複制一個數組
let arr1 = [2,3,5];
let arr2 = Array.from(arr1);//[2,3,5]
let arr3 = Array.from(arr1,x=>x*2);//[4,6,10]

//Array.of方法
let arr4 = Array.of(4);//[4]
let arr5 = Array.of(3,4,5,5,6);//[3,4,5,5,6]
let arr6 = Array.of(...arr5);//[3,4,5,5,6]

//fill靜態填充
let arr7 = Array.of(3,3,5,5,53,6);
arr7.fill(0);//[0,0,0,0,0,0];
arr7.fill(2,1);//[0,2,2,2,2,2] 第一個數字是要填充的值,第2個參數是開始的索引
arr7.fill(3,1,5);//[0,3,3,3,3,2] 最後一個參數是結束的索引

//copyWithin
let arr8 = [1,2,3,4,5,6];
arr8.copyWithin(0,3);

//排序元素
let arr10 = [-1,-3,2,1,-5,9,6,7];
arr10.reverse;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章