js对数组操作

length

计算数组的长度:

var arr=[1,2,3,4,5,6];
alert(arr.length);//弹出结果是6

concat()

连接两个或者跟多的数组,并返回结果:

var arr1 = [1,2,3];
var arr2 = arr1.concat(4,5);
var arr3 = arr1.concat([4,5]);
console.log(arr2);//返回[1,2,3,4,5]
console.log(arr3);//返回[1,2,3,4,5]

也有复制数组的功能:

var arr1 = [1,2,3];
var arr4 = arr1.concat();
console.log(arr4);//返回[1,2,3]

join()

把数组的所有元素放入一个字符串,元素通过指定的分隔符进行分隔:

var arr=["a","b","c","d"];
console.log(arr);//返回["a", "b", "c", "d"]
console.log(arr.join(";"));//返回a;b;c;d

pop()

删除数组末尾最后一个元素,返回被删除的元素,若数组为空则返回undefined:

var arr=[1,2,3];
alert(arr.pop());//返回3
console.log(arr);//返回[1,2]
var arr2=[];
alert(arr2.pop());//返回undefined
console.log(arr2);//返回[]

push()

在数组的尾部添加一个或者多个元素,并返回数组的新长度。注意(改变的是原数组的值,返回的是新数组的长度):

var arr = [1,3];
console.log(arr.push(5,7));//返回4是数组长度
console.log(arr);//返回[1, 3, 5, 7]

reverse()

对数组中的数据进行反转,返回反转后的数组:

var arr = [1,3,2];
console.log(arr.reverse());//返回[2,3,1]

shift()

删除数组头部的第一个元素,并返回被删除的元素,若数组为空则返回undefined:
var arr = [1,2,3];
console.log(arr.shift());//返回头部被删除的1
var arr1 = [];
console.log(arr1.shift());//返回undefined

unshift()

在数组头部添加若干元素,返回添加元素后数组的长度:

var arr = [1,2,3];
alert(arr.unshift("a","b"));//返回5是数组长度

slice()

返回指定数组的一部分或者子数组。不会改变原数组:

var arr = [1,2,3,4,5,6,7,8];
console.log(arr.slice(0,3)); //返回[1,2,3] 第一个参数是截取开始的位置(包括),第二个参数是截取结束的位置(不包括)            
console.log(arr.slice(3)); //返回[4,5,6,7,8]            
console.log(arr.slice(1,-1)); //返回[2,3,4,5,6,7] 负数表示倒数            
console.log(arr); //返回[1,2,3,4,5]

sort()

返回排序后的数组。如果数组包含undefined,会被排到数组的尾部。如果不带参数的调用sort(),数组元素以字母表顺序排序:

var arr = [11111,333,22,444];                       
console.log(arr.sort()); //返回的结果是[11111,22,333, 444]
var arr = [11111,333,22,444];           
arr.sort(function (a,b) {
    return (a-b);
})            
console.log(arr); //返回[22,333,444,11111]//从小到大排列,从大到小就b-a

splice()

从指定位置删除若干元素,然后再从该位置添加若干元素,结果返回被删除的元素,第一个参数表示起始删除的位置,第二个参数表示要删除元素的个数,之后的元素表示要添加的元素:

var arr = ["a","b","c"];
alert(arr.splice(1,2,"d","e"));//从位置1开始删除2个元素,在1位置添加"d","e"两个元素,返回"b","c"
alert(arr);//arr数组变为a,d,e
alert(arr.splice(0,3));//从位置0开始,删除3个元素,返回"a","d","e"
alert(arr);//arr数组为空

forEach()

从头至尾遍历数组,为每个元素调用指定的函数:

var arr = [1,2,3,4,5];            
var sum = 0;           
arr.forEach(function (value) {
    sum += value
})            
console.log(sum); //sum = 15

map()

和forEach()类似,调用数组的每个元素传递给指定函数,并返回一个数组,所以它和forEach()的区别在于,有一个返回值。不修改原数组,返回的数组长度和原数组相同:

var arr1 = [1,2,3,4,5];            
var arr2 = arr1.map(function (value) {
    return value+1
})            
console.log(arr2); //返回[2,3,4,5,6]

reduce()

从数组的第一项开始,逐个遍历到最后,函数接受两个参数,一个是在数组上调用的函数和归并的初始值(可选),而调用数组的函数接受四个参数:前一个值、当前值、当前值索引、当前数组,第一次调用时,前一个值是数组第一项,当前值是数组第二项:

var arr = [1,2,3,-1];
var result = arr.reduce(function(prev,cur,index,array){
     return prev+cur
})
alert(result);//返回5



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值