js算法基本都會涉及到數組
數組的定義
var array = []
var array1 = [1,2,3,4,5,6]
數組的方法
array1.push(9);在尾部添加
array.unshift 在頭部添加
array.shift() 刪除第一個元素
array.pop() 刪除最後一個元素
array.splice(5,3); 刪除第五個索引(包括)三個元素
多維數組
var array = [];
array[0]= [1,2,3,4,5];
array[1] = [6,7,8,9,10];
for(var i = 0;i < array.length;i++){
for(var j = 0;j<array[i].length;j++){
console.info(array[i][j]);
}
}
1.數組合並
var a1= [1,2,3,4,5];
var a2= [6,7,8,9,10];
var a3 = a1.concat(a2);
var a4 = a2.concat(a1);
console.info(a3);
console.info(a4);
2.迭代器函數
var istwo = function(x){
return (x%2 == 0)? true : false;
}
var a1= [1,2,3,4,5];
a1.every(istwo); //false
a1.some(istwo); //true
a1.filter(istwo); //[2,4]
a1.map(istwo) //[false, true, false, true, false]
3累加器
var bb = a1.reduce(function(previous, current, index){
console.info(previous+' '+current+' '+index);
return previous + current;
}); //15
4.搜索,排序
反向排列
a1.reverse()//[5, 4, 3, 2, 1]
var a1 = [1,2,3,4,5,10,11,12,13,14,15]
a1.sort() //Array[1,11,12,13,14,15,2,3,4,5]
排序不對因爲數組按默認元素排序
a1.sort(function(){
return a-b;
}); //[1,2,3,4,5,10,11,12,13,14,15]
數組搜索
indexOf
a1.indexof(10)
找第十個(下標爲9) 找不到爲-1
lastIndexOf
a1.lastIndexOf(1)
倒數第一個
數組輸出字符串
toString join