Array

Array.apply(null,{length:3})  //[undefined, undefined, undefined]
Array.call(null,{length:3})     //[{length:3}]

var a=[]
Array.prototype.range=function(start,end){
  var length=end-start;
  var step = start - 1;
  return Array.apply(null,{length:length}).map(function(v,i){step++;return step})
  
}
a.range(0,100) //显示0到99的数组  或者R.range(0,100)

arrayObj.toString()

作用:将数组转化成字符串,与不穿参调用join方法相似

[1, 2, 3].toString();  //输出 '1, 2, 3'
[1, 2, [3, 4]].toString();  //输出 '1, 2, 3, 4'
arrayObj.join([seperator])

作用:将数组的各个元素转成字符串,再以seperator为分隔符,将数组连接成一个字符串后
注意:seperator可选,如没有指定seperator,默认用“,”来连接字符串

arrayObj.concat(element1, element2, ..., elementX)

作用:连接两个或多个数组,返回连接后的数组;
注意:不修改原数组;如果不传任何参数,则返回原数组的一份拷贝;如果参数不是数组,则将参数添加到连接的数组后面;如果传入的参数是数组,则将参数数组的每个元素添加到连接的数组后面;

var arr1=[1,3,4];
var arr2=[3,4,5];
arr1.concat(arr2)  //返回[1, 3, 4, 3, 4, 5]  不改变arr1的值
Array.prototype.push.apply(arr1,arr2)  //6返回长度,arr1值为[1, 3, 4, 3, 4, 5]
arrayObj.slice(start, end) //切片函数,不改变原数组

作用:从已有的数组中返回指定元素组成的新数组,包括start指定位置的元素,但不包含end处包含的元素;
注意:start必选,end可选;当start或end为负值时,表示从数组最后一个元素开始,倒数第n个元素,比如数 组最后一个元素为倒数第一个;
当没有指定end时,则截取从start开始,一直到最后一个元素;
arguments参数是个伪数组,通过 Array.prototype.slice.call(arguments) 转化为标准数组

var arr = [1, 2, 3];
arr.slice(0 ,2); //输出 [1, 2],此时arr=>[1, 2, 3]
arr.slice(-2, -1);  //输出 [2]
arr.slice(1);  //输出 [2, 3]
arrayObj.splice(index, howmany, element1, element2..., elementX) //返回被删除数组,会改变原数组

作用:从index处开始,从数组里删除howmany个元素后,将element1~elementX插入到数组中,插入开始的位置为index;返回值为删除的元素组成的数组;
注意:会修改原数组;howmany可选,如只传入index,则删除从index开始的所有元素;
如howmany为0,则删除0个元素;
如果传入的element为数组,不会像slice方法那样插入单个元素,而是将数组作为整个元素插入;

var arr = [1, 2, 3];
arr.splice(0, 1); //输出 [1],此时arr=>[2, 3]

arr = [1, 2, 3];
arr.splice(1, 0, 'hello'); //输出 [],此时 arr=>[1, 'hello', 2, 3]

arr = [1, 2, 3];
arr.splice(1); //输出 [2, 3],此时arr=>[1]

arr = [1, 2, 3];
arr.splice(1, 0, ['hello', 'world']); //输出 [],此时arr=> [1, ['hello', 'world'], 2, 3]
arrayObj.push(newElement1, newElement2, ... newElementX)

作用:向数组末尾添加一个或多个元素,并返回修改后的数组长度
注意:会修改原数组;返回修改后的数组长度

var arr = [1, 2, 3];
arr.push(4, 5);  //输出 5,此时arr=>[1,2,3,4,5]

arrayObj.pop()

作用:删除并返回数组最后一个元素

arrayObj.shift()

作用:删除并返回数组第一个元素

arrayObj.unshift()

作用:向数组开头添加一个或多个元素,返回修改后的数组长度
注意:会修改原数组;返回的是修改后的数组长度;在IE6里,返回的是undefined

arrayObj.reverse()

作用:将数组元素的排序全部颠倒过来
注意:会修改原有数组

var arr = [1, 2, 3];
arr.reverse();  //输出 [3, 2, 1],此时arr=>[3, 2 1]
arrayObj.sort([sortFunc])

作用:对数组元素进行排序;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容