JavaScript中的数组改变原数组的方法

数组

var a = [1, 2, 3, 5, 8, 13, 21]

改变原数组的方法

push(value)

数组末尾添加一个或多个元素,并返回新的数组长度

推入,a.push(34)

简单,不演示了

pop()

删除最后一个元素,并返回该元素的值

弹出,a.pop()

简单,不演示了

unshift(value)

数组开头添加一个或多个元素,并返回新的数组长度

unshift数组头部插入,a.unshift(-1)

简单,不演示了

shift()

删除数组第一个元素,并返回该元素的值。

shift改变,数组头部删除,a.shift()

简单,不演示了

reverse()

将数组的元素顺序颠倒,修改元素组。

反转,a.reverse()

a.reverse() //[21, 13, 8, 5, 3, 2, 1]

sort(f())

对数组的元素进行排序

排序,a.sort(function(a,b){return b-a;})

splice(start,deleteCount,item1,item2...)

在任意位置添加、删除或替换数组的元素。

粘接

了解即可

forEach(f(value,index,arr))

遍历数组中每个元素执行回调,无返回值.

遍历,无返回值,三参数,数组元素值,元素索引可选,原数组可选

function add1(value,index,arr){ console.log(value+"|"+index+"|"+arr); arr[index]=value+1; console.log(a); } a.forEach(add1) // [2, 3, 4, 6, 9, 14, 22]

map(f(value,index,arr))

创建新数组,每个元素结果覆盖原值。返回值是新数组。

映射,同forEach类似,区别是改变原数组并返回。

function multi(value,index,arr){ console.log(value+"|"+index+"|"+arr); arr[index]=value*2; console.log(a); } a.map(multi); //[2, 4, 6, 10, 16, 26, 42]

filter(f(item,i,arr))

创建新数组,符合要求返回。

过滤,不修改原数组

function lv(item,i,arr){ console.log("数组项:"+item+",索引:"+i+",当前数组:"+arr); //筛选出偶数来 if(item%2==0){ return item; } } a.filter(lv); //[2, 8]

reduce(f(acc,curVal,i,arr),initVal)

对数组进行积累操作,升序执行,返回总值

减少,f(累计值,当前值,索引,数组),初始值

function sum(a,b,i,arr){ console.log("初始值:"+a+",当前项:"+b+",索引:"+i+",当前数组:"+arr); //将中间累积值保存在原数组acc属性中 arr.acc.push(a+b); return a+b; } a.reduce(sum);//53 a.acc//[3, 6, 11, 19, 32, 53]

reduceRight(f())

降序执行,返回总值

右侧减少,

同上

a.reduceRight(sum); a.acc//[34, 42, 47, 50, 52, 53]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿立聊全栈

有作用的,有闲钱的支持一点。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值