数组的常用方法

1.数组常用方法

1.map()方法

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

语法:

array.filter(function(currentValue,index,arr), thisValue)

参数说明:
第一个参数为: 当前正在遍历的元素
第二个参数为: 当前元素索引
第三个参数为: 原数组本身

var array1 = [1,4,9,16];
const map1 = array1.map(x => x *2);
console.log(map1);

结果为:

 Array [2,8,18,32]

2.filter()方法

  • 创建一个新数组,新数组中的元素是通过检查指定数组中符合条件的所有元素;
  • 不会对空数组进行检测;
  • 不会改变原始数组。

语法:

array.filter(function(currentValue,index,arr), thisValue)

参数说明:
第一个参数为: 当前正在遍历的元素
第二个参数为: 当前元素索引
第三个参数为: 原数组本身

let arr = [2, 3, 4, 5, 6]
console.log(arr.filter(i => i > 3)) // [4,5,6]

3.indexOf()方法

语法:

  stringObject.indexOf(item,start) ;

第一个参数必选,你要查找的元素;
第二个参数,可选的整数参数,0到 stringObject.length-1;若不写从首字母开始索引。

var fruits=["Banana","Orange","Apple","Mango","Banana","Orange","Apple","Mango"];
var a=fruits.indexOf("Apple",4)  

从第5为开始查Apple第一次出现的位子。检索位数是从0不是1.
如果不存在,就返回-1

4.find()

类似于filter方法,但返回第一个符合条件的元素,filter返回一个数组,find返回一个object

let arr = [2, 3, 4, 5, 6]
console.log(arr.find(item => item > 4)) // 5

5.reduce()

它有两个参数,第一个是回调函数,第二个initValue是初始值,可选的。current表示数组内的元素,即当前值。

6.slice()

slice(start,end):方法可从已有数组中返回选定的元素,返回一个新数组,包含从start到end(不包含该元素)的数组元素。

let arr = [2, 3, 4, 5, 6]
console.log(arr.slice(1,3))  //[3, 4]

7.splice()

splice():该方法向或者从数组中添加或者删除项目,返回被删除的项目
该方法会改变原数组

let arr = [2, 3, 4, 5, 6]
console.log(arr.splice(1,1))  //[3]  删除第二位的值,返回被删除的值
console.log(arr.splice(1,0,8))  //在第2位添加值
console.log(arr.splice(1,1,8))  //把第二位的值替换为8
console.log(arr)

8.some()

当数组中有一个符合条件,则返回true,否则返回false。

let arr = [2, 3, 4, 5, 6]
console.log(arr.some(item => item == 4))  //true

9.every()

功能类似于some,但要求每一个元素都符合条件才返回true。

let arr = [2, 3, 4, 5, 6]
console.log(arr.every(item => item > 1))

9.includes()

是否包含指定的元素值。

let arr = [2, 3, 4, 5, 6]
console.log(arr.includes([2, 3, 4, 5, 6])) //false
console.log(arr.includes(2))  //true

false的原因:因为指向不同的引用地址

2.改变数组长度的方法

1.改变数组

  • shift:将第一个元素删除并且返回删除元素,空即为undefined
  • unshift:向数组开头添加元素,并返回新的长度
  • pop:删除最后一个并返回删除的元素
  • push:向数组末尾添加元素,并返回新的长度
  • reverse:颠倒数组顺序
  • sort:对数组排序
  • splice:splice(start,length,item)删,增,替换数组元素,返回被删除数组,无删除则不返回

2.不改变数组

  • concat:连接多个数组,返回新的数组
  • join:将数组中所有元素以参数作为分隔符放入一个字符
  • slice:slice(start,end),返回选定元素
  • map,filter,some,every等不改变原数组
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值