JS基础知识梳理---Array对象
A:数组的创建
var arrA = new Array(); var arrB = [];
B:数组的属性 length
var arr = [1,2,3,4,5,6]; console.log(arr.length);//6
C:数组转换成字符串,toString(),join();
var arr = [1,2,3,4,5]; console.log( arr.toString() );//1,2,3,4,5 在默认情况下会用逗号分隔 console.log( arr.join("a") );//1a2a3a4a5 指定分隔字符
D:数组的栈方法(后进先出),推入一项push(),取出最后一项pop();
var arr = [1,2,3,4,5]; arr.push("abc"); console.log( arr );//[1, 2, 3, 4, 5, "abc"] arr.pop(); arr.pop(); console.log( arr );//[1, 2, 3, 4]
E:队列方法(先进先出),推入unshift(),取出shift();
var arr = [1,2,3,4,5]; arr.unshift("abc"); console.log( arr );//["abc", 1, 2, 3, 4, 5] arr.shift(); arr.shift(); console.log( arr );//[2, 3, 4, 5]
F:数组排序,reverse()反转数组,sort()升序,可传入一个函数;
var arr = [1,3,20,4,15]; arr.reverse(); console.log(arr);//[15, 4, 20, 3, 1] 反转位置 arr.sort(); console.log(arr);//[1, 15, 20, 3, 4] 升序排列 arr.sort(compare); console.log(arr);//[1, 3, 4, 15, 20] function compare (valueA,valueB) {//-1,位置提前一位 1位置后退一位 0位置不变 if( valueA < valueB ){//升序 < ,降序 > return -1; }else if( valueA > valueB ){ return 1; }else{ return 0; } }
G:数组分割slice();用法和字符串中的slice是一样的
var arr = [1,3,20,4,15]; console.log(arr.slice(1));//[3, 20, 4, 15] console.log(arr.slice(1,3));//[3, 20]
H:数组的删除,插入和替换,splice();
var arr = [1,3,20,4,15]; //删除,传入两个值,开始删除的角标,删除几项 arr.splice(1,2); console.log(arr);//[1, 4, 15] //插入,传入三个或者多个参数,开始位置,要删除的个数,要插入的项 arr.splice(1,0,'abc','def','g'); console.log(arr);//[1, "abc", "def", "g", 4, 15] //替换,传入三个或者多个参数,起始位置,要删除的项,要插入的项 arr.splice(1,2,'z','w','q','u'); console.log(arr);//[1, "z", "w", "q", "u", "g", 4, 15]
I:位置方法indexOf(),只有IE9+,firefox2+,chrome,Opera9.5+,Safari3+支持
var arr = [1,3,2,3,7,2,10]; //穿入一个值,返回这个值第一次出现的位置 console.log(arr.indexOf(2));//2 //穿入两个个值,第一个值为目标值,第二个是开始寻找的位置,返回这个值在寻找位置后第一次出现的位置 console.log(arr.indexOf(2,3));//5
J:数组中的最大值和最小值
var arr = [1,3,2,3,7,2,10]; //最大值 console.log( Math.max.apply(null,arr) );//10 //最小值 console.log( Math.min.apply(null,arr) );//1