js array数组对象操作方法汇总
--------------------------更新自2018.6.11
js 数组对象操作方法如下:
1. 创建数组
var array1 = [1,2] //方法一 var array2 = new Array() //方法二 array[0] = 1; array[1] = 2;
2.遍历数组 for循环 和for...in 循环
var array1 = [1,2]; var l = array1.length; //for循环 for(var i=0;i< l;i++){ console.log(array1 [i]); } //for...in 循环 for (x in array1 ){ console.log(array1 [x]); }
3. concat() 连接两个或以上的数组,返回的是一个新数组,不影响原数组 (concat 合并多个数组(加的是数组中的元素),也可跟元素合并)
var arr = [1]; var arr1 = ["herry"] var arr3 = arr.concat(arr1); //[1,"herry"]
4.push() 方法可向数组的末尾添加一个或多个元素,该方法会改变原数组,并且遵循数组提供的先进后出栈功能,返回值是数组新的长度
(unshift() 方法是向数组头部添加一个或多个元素,使用上同push方法,但不推荐使用,因为无法再IE下正常使用)
var arr = [1]; var arr1 = "herry"; var arr2 = ["herry"]; //注意向数组中追加的是元素 var l = arr.push(arr1); console.log(l); //2 console.log(arr) //[1,"herry"] //数组会以数组形式追加到尾部 var l = arr.push(arr2); console.log(l); //3 console.log(arr) //[1,"herry",Array(1)["herry"]]
5. pop() 方法删除数组最后一个元素,该方法会改变原数组,删除元素并且数组长度-1,返回值是删除的元素的值,如果数组是空数组,则不进行删除,返回值是undefined
(shift() 方法删除数组第一个元素,使用上同pop方法) (pop 取出 shift 转移,改变)
var arr = [1,"herry"]; var del = arr.pop() ; console.log(del); //"herry" console.log(arr.length); //1
6. sort() 对数组进行排序,改变的是原数组元素顺序,默认是按字符编码排序,所以在遇到数字排序时,就需要定义函数
function sortNumber(a,b) { return a - b } var arr = new Array(6) arr[0] = "10" arr[1] = "5" arr[2] = "40" arr[3] = "25" arr[4] = "1000" arr[5] = "1" document.write(arr + "<br />") //10,5,40,25,1000,1 document.write(arr.sort(sortNumber)) //1,5,10,25,40,1000
7.slice(start,end) 数组的截取函数,start 必需,end 选填 ,均可以为负数,返回的是start到end(不包括end)之间的元素,返回新数组,不影响原来数组 (slice 切开)
var arr = [1,2,3,4,5,6]; arr.slice(2); //[3,4,5,6] console.log(arr); //[1,2,3,4,5,6]
8.splice(index,howmany,item1,.....,itemX) 方法删除或者添加数组,会操作原数组,返回的是含有被删除的元素的数组
index 必需 起始位置,howmany 必需 数量可以为0,即不操作,第三个参数添加到数组 替代数组index的位置
var arr = [1,2,3,4,5,6]; console.log(arr); //[1,2,3,4,5,6] arr.splice(2,3,"William") console.log(arr); // [1,2,"William",6]
9.reverse() 颠倒元素顺序,改变原数组
var arr = [1,2,3]; arr.reverse(); //[3,2,1]
10. join() 方法将数组拆分成字符串,返回值字符串,默认分隔符为逗号“,”
var arr = [1,2,3]; arr.join("-"); //"1-2-3"
11.toString() 将数组转换成字符串,返回字符串,格式为逗号隔开