1.Array
关于数组的声明方式:
(1)var Arr = new Array(3)//长度为3的空数组
(2)var Arr = new Array(1,2,3,4)//直接初始化
(3)var Arr = [1,2,3,4]//这样直接初始化也行.
注意:
读取数组时若超出范围则返回undefined.
关于Arr.length这个方法,若直接设置Arr[99]='x';时候该数组长度为100.
----------------数组的方法push();unshift();pop();shift()----------------
1.arrayObject.push(new1,new2,...)
把参数添加到对应的数组的后面
2.arrayObject.unshift();
把对应的参数添加到数组的前面.
上述方法均返回增删后的数组长度.
3.arrayObject.pop();
删除arrayObject的最后一个元素.
4.arrayObject.shift();
删除数组的第一个元素
上述两个方法返回增删的元素.
--------------join();reverse();sort()-------------
1.arrayObject.join();
将数组中的所有元素放到一个字符串中.默认用逗号隔开,(" ")引号内可以添加分隔符(空白也行).
返回:字符串
2.reverse();
用于颠倒数组中元素的顺序.
返回:数组.
例:var a = ["a","b","c","d"]; a.reverse().join("");返回dcba.
3.arrayObejct.sort(sortby);
tips:(1)该函数会将数组的值转换成字符串,再进行比较
(2)sort()方法可以接收一个比较函数.
通过该函数对 数组进行升降序排列;
例:arr.sort.(function(a,b){ return a-b })//升序排列
arr.sort.(function(a,b){ return b-a })//降序排列
无论升降序,数组内有字符串会导致紊乱(暂时没去发现规律)
-------------------concat();slice();------------------------
1.concat();
连接两个或者多个数组.
返回数组.
arrayObject.concat(arr1,arr2);
或者直接声明数组arrayObject.concat(arr1,[1,2,3,"a"]);
2.slice()://截取
arrayObject.slicet(start,end);
返回:截取的数组
tips:(1)start(可以为负数),和end是指数组的索引值(也就是从0算起)
(2)截取从start到end(不包含该元素),即截取start到end-1的元素.
(3)如果start为负数的话,将数组总长度加上负数的值为 start的索引.
实例:将一个数组a拷贝至空数组b的方法
1.遍历
for(var i, i<a.length,i++){
b.push(a[i]);
}
2.连接法
b=[].concat(a);
3.截取法,截取整个数组
b=a.slice(0);
-----------------------强大的splice();------------------
可以实现1.删除,2. 插入,3.替换
1.删除
arrayObject.splice(index,count)
index为起始位置,count为数量
删除从Index处开始的零个或者多个元素
返回:被删除的数组.
arr.splice(2,2)//从索引为2删除两个
2.插入
arrayObject.splice(index,0,item1,item2....itemx)
count为0,也就是不删除.然后插入
返回一个空数组(可以理解成,没删除不返回数组)
var a = arr.splice(1,0,"a","b","c");
3.替换
arrayObject.splice(index,count,item1,item2....itemx)
如果count不为0则返回对应删除的数组(元素).
即从index索引值开始删除count个元素,再添加item元素.
---------ES5新增的方法indexOf();lastIndexOf();-----------
1.arrayObject.indexOf(searchvalue,startIndex(可选))
功能:从startIndex(没设置就从头开始)开始查找value的位置
返回:在数组的位置(也就是索引值);若无返回-1;
低版本自己封装方法:
function( arr , value ){
for(var i = 0; i<arr.length; i++ ){
if(arr(i)===value){
return arr[i];
}
return -1;
}
}