不改变原数组:
- concat() 连接两个或多个数组,并将新的数组返回,不改变原数组,返回新的数组
- join() 把数组中所有元素放入一个字符串,将数组转换为字符串,不改变原数组,返回字符串
- slice(start,end) 从已有的数组中返回选定的元素,提取部分元素,放到新数组中,参数解释:1:截取开始的位置的索引,包含开始索引;2:截取结束的位置的索引,不包含结束索引(不填默认到最后一个,大于数组length也是如此)。不改变原数组,返回一个新数组
- toString() 把数组转为字符串,不改变原数组,返回数组的字符串形式
- map,filter,some,every等不改变原数组
改变原数组:- pop() 删除数组最后一个元素,如果数组为空,则不改变数组,返回undefined,改变原数组,返回被删除的元素
- shift() 删除数组第一个元素,如果数组为空,不进行任何操作,返回undefined,,改变原数组,返回被删除的元素
- push() 向数组末尾添加一个或多个元素,改变原数组,返回新数组的长度
- unshift() 向数组开头添加一个或多个元素,改变原数组,返回新数组的长度
- reverse() 颠倒数组中元素的顺序,改变原数组,返回该数组
- sort() 对数组元素进行排序,改变原数组,返回该数组
- splice(start,length,item) 从数组中添加/删除项目,改变原数组,返回被删除的元素组成的数组
splice和slice的区别: - splice(i,j,”a”) 删除,添加元素,splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改。从i开始删j个(包括i),并将”a”插入到i处。
- 删除-用于删除元素,两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数)
- 插入-向数组指定位置插入任意项元素。三个参数,第一个参数(其实位置),第二个参数(0),第三个参数(插入的项)
- 替换-向数组指定位置插入任意项元素,同时删除任意数量的项,三个参数。第一个参数(起始位置),第二个参数(删除的项数),第三个参数(插入任意数量的项)
var lang = ["111","java","javascript"];
var removed = lang.splice(1,1);
alert(lang);
alert(removed);
var insert = lang.splice(0,0,"asp");
alert(insert);
alert(lang);
var replace = lang.splice(1,1,"c#","ruby");
alert(lang);
alert(replace);
- slice(start,end) 从某个已有的数组返回选定的元素,从start位开始返回到end(包括start不包括end)如果是负数,表示从数组尾部进行计算(同样:包括start不包括end),请注意,该方法并不会修改数组,而是返回一个子数组。