es6新增数组方法的基本使用

1.map

映射,即原数组映射成一个新的数组,map方法接受一个新参数,这个参数就是将原数组变成新数组的映射关系。

//用map取出指定元素
let arr = [
		  {name:'小明',age:16,sex:'男'},
		  {name:'小红',age:17,sex:'女'},
		  {name:'小李',age:18,sex:'女'},
	]
	let result = arr.map(item => {
		return item.name + '--'+item.sex
	})
	console.log(result)

在这里插入图片描述

2.reduce

reduce() 方法接受四个参数:初始在这里插入代码片值(或者上一次回调函数的返回值),当前元素值,当前索引,调用 reduce() 的数组。

//用reduce计算数组的和
let arr = [10,20,30,40]
	let result = arr.reduce(function(tmp,item,index){
		return tmp+item
	})
	console.log(result)  //100

1.tmp,item,index 分别是什么?

let arr = [10,20,30,40]
	let result = arr.reduce(function(tmp,item,index){
		console.log(tmp,item,index)
	})

在这里插入图片描述
可以看到 arr[10,20,30,40]
第一次 tmp = 10,item=20,index=1
第二次 tmp = undefined,item=30,index=2
第三次 tmp = undefined,item=40,index=3

所以index =下标 item = 值 tmp默认等于arr[0]

2.计算过程

在这里插入图片描述

3.filter

filter方法过滤掉不符合条件的值,返回一个符合条件的新的数组

//去除age大于16的学生信息
let arr = [
		  {name:'小明',age:16,sex:'男'},
		  {name:'小红',age:17,sex:'女'},
		  {name:'小李',age:18,sex:'女'},
	]
	let result = arr.filter(item => item.age > 16)
	console.log(result)

在这里插入图片描述

4.forEach

循环

let arr = [
		  {name:'小明',age:16,sex:'男'},
		  {name:'小红',age:17,sex:'女'},
		  {name:'小李',age:18,sex:'女'},
	]
	let result = arr.forEach(item => {
		console.log(item)
	})

在这里插入图片描述

5.find

找到数组中第一个符合条件的数据

    let arr = [
      {name:'zhangsan',age:10},
      {name:'lisi',age:5},
      {name:'xiaomage',age:8}
    ]
    let result = arr.find((arr)=>{
      return arr.age == 5
    })
    console.log(result)

在这里插入图片描述

6.some

只要有一个条件符合,就为true

   let arr = [
      {name:'zhangsan',age:10},
      {name:'lisi',age:5},
      {name:'xiaomage',age:8}
    ]
    let result = arr.some((arr)=>{
      return arr.age > 9
    })
    console.log('结果为:'+result)

在这里插入图片描述

7.every

与some相反,只要一个不符合,就为false

    let arr = [
      {name:'zhangsan',age:10},
      {name:'lisi',age:5},
      {name:'xiaomage',age:8}
    ]
    let result = arr.every((arr)=>{
      return arr.age > 7
    })
    console.log('结果为:'+result)
  }

在这里插入图片描述

ES6(ECMAScript 2015)引入了大量数组方法,增强了数组的处理能力。其中一些重要的新增方法包括: 1. **find**: 这个方法返回数组中满足提供的测试函数的第一个元素,如果没有找到符合条件的,则返回undefined。 ```javascript const numbers = [1, 2, 3, 4, 5]; const result = numbers.find(item => item > 3); // 返回4 ``` 2. **findIndex**: 类似于`find`,但它返回满足条件的第一个元素的索引,找不到则返回-1。 ```javascript const index = numbers.findIndex(item => item == 4); // 返回3 ``` 3. **filter**: 通过测试函数过滤数组,返回一个的只包含满足条件元素的数组。 ```javascript const evenNumbers = numbers.filter(item => item % 2 === 0); // 返回[2, 4] ``` 4. **map**: 对数组的每个元素应用一个映射函数,并返回数组,原数组不变。 ```javascript const squared = numbers.map(item => item * item); // 返回[1, 4, 9, 16, 25] ``` 5. **reduce**: 用于迭代数组并对每个元素应用一个归约函数,最终得到一个单一的累积值。 ```javascript const sum = numbers.reduce((total, num) => total + num, 0); // 返回15 ``` 6. **flat**: 展开嵌套的数组成扁平化的数组。 ```javascript const nestedArray = [[1, 2], [3, 4]]; const flattened = nestedArray.flat(); // 返回[1, 2, 3, 4] ``` 7. **fill**: 将指定值填充到数组从开始到结束的所有元素,支持指定起始和结束位置。 ```javascript numbers.fill(0, 2); // [1, 2, 0, 4, 5] ``` 8. **includes**: 检查数组是否包含某个元素,返回布尔值。 ```javascript const hasThree = numbers.includes(3); // 返回true ``` 这些方法使得处理数组更加方便高效,提高了代码的可读性和简洁度。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值