shift用法和unshit用法數組
var colors = [ 'red', 'blue' ]; var item = colors.shift(); alert(item); //'red' alert(colors.length); // 1
var colors = ['red','blue']; var count = colors.unshift('green','back'); alert(count); //4 alert(colors.join(',')); // 'back','green','red','blue'
sort用法函數
sort方法默認按照元素內內首個字符的ascii碼值升序排序的spa
var arr = [5,1,4,11,2].sort(); console.log(arr); //[1, 11, 2, 4, 5]
如要實現完整的數組元素值按升序排列,則應傳遞一個處理函數code
function compare(val1, val2) { if(val1 < val2){ return -1; }else if(val1 > val2){ return 1; }else{ return 0; } }; var values = [5, 1, 11, 2]; values.sort(compare); console.log(values); // [1, 2, 5, 11]
concat用法blog
var a =[1, 2]; a.concat(3, [4, 5]); console.log(a);//[1,2,3,4,5];
slice用法排序
slice函數操做後不影響原素組ip
var colors = ['red', 'green', 'blue']; var colors2 = colors.slice(1); // ['green', 'blue']; var colors3 = colors.slice(1, 2); // ['green']; console.log(colors); // ['red', 'green', 'blue'];
tips:若是slice方法中的參數有一個負數,則用數組長度加上該值肯定相應的位置值ci
如數組長度爲5時, slice.(-2, -1) 等價於 slice(3, 4);rem
巧妙使用改特性獲取數組中特定後幾位元素it
var a = [1,2,3,4,5,6,7]; var b = a.slice(4); //[4,5,6,7]
splice用法
刪除功能: 指定兩個參數, 要刪除的第一項的位置和要刪除的項數
var colors = ['red', 'green', 'blue']; var removed = colors.splice(0,1); alert(colors); // 'green', 'blue' alert(removed); // 'red'
插入功能:指定3個參數:起始位置、0(要刪除的項數),要插入的項
removed = colors.splice(1, 0, 'yellow', 'orange'); //從位置1開始插入兩項 alert(colors); // green, yellow, orange, blue alert(removed); //返回的是一個空數組
替換功能:指定3個參數:起始位置、要刪除的項數,要插入的項
removed = colors.splice(1, 1, "red", "purple"); //插入兩項,刪除一項 alert(colors); //green,red,purple,orange,blue alert(removed); //yellow 返回的數組中只包含一項
迭代方法
every:對數組中的每一項運行給定函數,若是該函數對每一項都返回true,則返回true,
some:對數組中的每一項運行給定函數,若是該函數對任意一項返回true,則返回true,
forEach:對數組中的每一項執行某些操做
filter: 對數組中的每一項運行給定函數,返回該函數會返回true的項組成的數組
map:對數組中的每一項運算給定函數,返回每次函數調用的結果組成的數組
var number = [1,2,3,4,5,4,3,2,1]; var everyResult = numbers.every(function(item,index,array){ return item > 2; }) alert(everyResult); // false; var someResult = numbers.every(function(item,index,array){ return item > 2; }) alert(someResult); //true; numbers.forEach(function(item,index,array){ //執行某些操做 }) var filterResult = numbers.filter(function(item,index,array){ return item > 2; }) alert(filterResult); //[3,4,5,4,3]; var mapResult = numbers.map(function(item,index,array){ return item * 2; }) alert(mapResult); //[2,4,6,8,10,8,6,4,2];