数组对象
数组对象几种创建方式
let arr = [];arr[0] = 1; //中括号[]创建空数组,然后增加元素赋值let arr = [1,3,"儒释道"]; //中括号[]创建空数组,同时写入元素let arr = new Array();arr[0] = 1; //构造函数创建空数组,然后增加元素赋值let arr = new Array(1,3,"儒释道"); //构造函数创建空数组,数组元素以函数参数的形式出现
Array对象属性
length
字符串和数组都有length属性,对于数组而言,属性值是数组元素的个数,常常用于遍历查询、修改数组元素。 当数组长度未知时,使用length编程序很方便,或者要处理的数组有不同的长度,提高程序适用性。
-
//遍历数组元素,所有元素加1
let arr = [1,1,1,1,1,1,1,1]; for(let i = 0;i < arr.length;i++){ arr[i] +=1; }
prototype
原型对象
constructor
数组对象的构造函数
Array对象方法
concat()
合并数组,不会改变原数组,仅仅利用原来数组作为原材料生产一个新的数组,从内存角度看就是, 重新开辟一个新的内存区域,把原来数组的元素全部复制过来,注意复制过来的是具体数据不是数据的索引。 参数可以是数组也可以是元素,可以是多个。
-
应用案例
let arr1 = []; let arr2 = [];let arr3 = arr1.concat( arr2 );
//arr1数组对象调用方法,把arr2作为函数参数,合并并返回一个新的数组赋值给arr3.let arr1 = [];let arr3 = arr1.concat( 4,5 );
//arr1数组对象调用方法,把4,5作为参数,返回一个新的数组,返回的新数组在arr1的基础上又增加了4和5两个元素。let arr1 = []; let arr2 = [];let arr3 = [];let arr4 = arr1.concat( arr2,arr3 );
//arr1数组对象调用方法,把arr2、arr3作为函数参数,合并三个数组并返回一个新的数组赋值给arr4.
join()
利用数组的元素生成一个字符串,可以通过设置参数在每一个元素之间有规律的插入符号。
-
应用案例
let arr = ["一","夫","振","臂","万","夫","雄"];let str = arr.join( "" );
//参数是一个空字符"",意味着什么也不插入,str结果是"一夫振臂万夫雄"let arr = ["一","夫","振","臂","万","夫","雄"];let str = arr.join( "!" );
//参数是一个字符叹号"!",str结果是"一!夫!振!臂!万!夫!雄"
push()
往数组末尾推入新的元素,改变数组的同时,会返回数组更新后的长度length属性的属性值。 push属性的好处是你想增加数组元素的时候,不要使用下标的方式,直接推入,尤其是利用循环结构程序, 往数组里面连续推入新的元素。
-
应用案例
let arr = [1];let L = arr.push( 2 );
//此时arr的结构由原来[1]变为现在[1,2],返回值赋值给L为2let arr = [];for(let i = 0;i<10;i++){arr.push( i );}
//通过for给空数组arr批量添加元素,arr结果变为[0,1,2,3,4,5,6,7,8,9]
pop()
基本类似push用法,区别在于pop方法是用来删除数组的最后一个元素,另一个区别是返回的不是此时数组长度而是所删除的最后一个元素。
-
应用案例
let arr = ["一","夫","振","臂","万","夫","雄"];let str = arr.pop();
//arr数组结构变为["一","夫","振","臂","万","夫"],str结果是"雄"let arr = [0,1,2,3,4,5,6,7,8,9];for(let i = 0;i< 5;i++){arr.pop();}
//通过for删除倒数后5个数据,arr结果变为[0,1,2,3,4]
reverse()
数组元素倒序排列,不产生新的数组。
-
应用案例
let arr = [0,1,2,3,4,5,6,7,8,9];arr.reverse();
//arr数组结构变为[9,8,7,6,5,4,3,2,,1,0]
shift()
用法参考上面pop,区别是删除的元素不是最后一个,是第一个,返回的元素同样是删除的
splice(开始下标,删除个数,插入元素1,插入元素2...)
删除数组连续的部分元素,并返回删除的元素,同时可以插入新的元素,也可以不插入,也可以插入多个,插入位置就是删除的开始下标位置 对比字符串。