javascript 学习 第15天 常用数组方法

1,concat()

连接数组 直接返回新数组 原数组无变化

var arr1=[1,2,3]
undefined
arr1.concat(4,5,6)
(6) [1, 2, 3, 4, 5, 6]
arr1
(3) [1, 2, 3]

2,slice()

查看数组的某一部分内容 两个参数表示开始和结束索引 含头不含尾 返回数组的一部分成员 不会修改原数组

var  arr=[1,2,3,4,5,6]
undefined
arr.slice(0,2)
(2) [1, 2]
arr
(6) [1, 2, 3, 4, 5, 6]

3,splice()

剪切数组的一部分成员 会修改原数组 

第一个参数表示要开始截取的索引位置 可以传一个负数 表示从末尾开始计数 但还是向右侧截取成员

第二个参数表示要截取的成员的个数

第三个参数表示要插入到截取的位置的新的成员

返回截取的成员

var arr=[1,2,3,4,5,6,,7,8,9]
undefined
arr.splice(2,1,'sukla')
[3]
arr
(10) [1, 2, "sukla", 4, 5, 6, empty × 1, 7, 8, 9]
如果只有一个参数的话 表示从这个位置以后的成员全部截取

arr.splice(2)
(8) ["sukla", 4, 5, 6, empty × 1, 7, 8, 9]
arr
(2) [1, 2]
4,indexOf()

查看成员中第一个匹配的成员的索引

如果没有一个成员匹配的话 就返回 -1

var arr=[1,3,5,7,9]
undefined
arr.indexOf(4)
-1
arr.indexOf(5)
2
5,lastIndexOf()

从右侧开始 查看第一个匹配的成员的索引

没匹配到的话 返回 -1

var arr=[1,1,1,1,,1]
undefined
arr.lastIndexOf(1)
5
6,every()

接受一个函数作为参数

数组的成员依次执行这个函数

只有当所有成员的执行结果都是 true 的时候 这个方法返回 true

var arr=[1,2,3,4,5,6]
undefined
arr.every(function(a){return a>0})
true
arr.every(function(a){return a>1})
false

7,some()

接受一个函数作为参数

数组的成员一次执行这个函数

只要有一个成员的执行结果是 true 那么这个方法就返回 true

var arr=[1,2,3,4,5,6]
undefined
arr.some(function(a){return a>1})
true
arr.some(function(a){return a>0})
true
8,filter()

接受一个函数作为参数

数组的成员一次执行函数 

会将所有参与函数之后返回 true 的成员组成一个新的数组作为 这个方法的返回值

var arr=[1,2,3,4,5,6]
undefined
arr.filter(function(a){return a%2==0})
(3) [2, 4, 6]
arr
(6) [1, 2, 3, 4, 5, 6]
9,forEach()

接受一个函数作为参数

数组的成员一次执行这个函数 

没有返回值

var arr=[1,2,3,4,,5,6]
undefined
arr.forEach(function(a){return a>0})
undefined
10,map()

接受一个函数作为参数

数组的成员一次执行这个函数 

然后将返回值组成一个新的数组作为这个方法的返回值

var arr=[1,2,3,4,9,5,6]
undefined
arr.map(function(a){return a%2})
(7) [1, 0, 1, 0, 1, 1, 0]
arr
(7) [1, 2, 3, 4, 9, 5, 6]

11,reduce()

归纳方法

接受一个函数作为参数

这个函数有4个参数

第一个参数表示上一次归纳的结果

第二个参数表示当前的成员

第三个参数表示当前的成员的索引

第四个参数表示当前数组本身

var arr=[0,1,2,3,4,5,6,7,8,9]
undefined
arr.reduce(function(a,b,c,d){console.log(a,b,c,d);return a+b;})
VM960:1 0 1 1 (10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
VM960:1 1 2 2 (10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
VM960:1 3 3 3 (10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
VM960:1 6 4 4 (10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
VM960:1 10 5 5 (10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
VM960:1 15 6 6 (10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
VM960:1 21 7 7 (10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
VM960:1 28 8 8 (10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
VM960:1 36 9 9 (10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
45

12,reduceRight()

自右向左归纳方法

接受一个函数作为参数

这个函数有四个参数 分别表示上一次归纳的结果 当前的成员 当前的成员的索引 当前的数组

var arr=[0,1,2,3,4,5,6,7,8,9]
undefined
arr.reduceRight(function(a,b,c,d){console.log(a,b,c,d);return a+b;})
VM980:1 9 8 8 (10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
VM980:1 17 7 7 (10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
VM980:1 24 6 6 (10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
VM980:1 30 5 5 (10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
VM980:1 35 4 4 (10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
VM980:1 39 3 3 (10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
VM980:1 42 2 2 (10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
VM980:1 44 1 1 (10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
VM980:1 45 0 0 (10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
45










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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值