ES6常用数组方法总结(max,contant,some,every,filter,reduce,forEach,map)

简介: 1.求最大值(Math.max)2.数组添加到另外一个数组的尾部(...扩展符)3.复制数组3.1数组直接赋值3.2 es5通过concat方法进行克隆,不会影响原来数组3.3 es6通过扩展字符串来实现克隆4.用Object.keys清空对象的属性值5.forEach,遍历数组,无返回值,不改变原数组6.map遍历数组,返回新数组,不改变原数组7.filter,过滤掉数组不符合条件的值,返回新数组,不改变原数组8.reduce9 some()10.every

1.求最大值(Math.max)


1. //数组求最大值
2. Math.max(...[23,43,5,98,1])
3. 
4. //数字求最大值
5. Math.max(23,43,5,98,1)
6.

都输出 98,

求最小值,Math.min同理

2.数组添加到另外一个数组的尾部(...扩展符)


把arr4添加到arr3的尾部,可以看到,只是2个数组的追加,不会合并数组,去掉重复元素

let arr3 = [0, 1, 2, 3];
let arr4 = [3, 4, 5, 1, 9];
arr3.push(...arr4);
console.log(arr3)
console.log(arr4)


2887cc228663706c18e8882d9437b0f.png


3.复制数组


3.1数组直接赋值


数组是复合的数据类型,直接复制的话,只是复制了指向底层数据结构的指针,而不是克隆一个全新的数组。

const a1 = [1,2]
const a2 = a1
a2[0] = 2
console.log(a1)
console.log(a2)

496278846dc71e1bc0f3708c182a3f7.png


更改a2的值,会直接影响a1的值,a2并不是a1的克隆,而是指向同一份数据的另一个指针


3.2 es5通过concat方法进行克隆,不会影响原来数组


concat方法会直接返回数组的克隆,不会影响原来数组

const a1 = [1 ,2]
const a2 = a1.concat()
a2[0] = 2
console.log(a1)
console.log(a2)


614002fa35022d3880fa06669d246a0.png

3.3 es6通过扩展字符串来实现克隆



const a1 = [1, 2]
// 写法一
const a2 = [...a1];
// 写法二
const [...a3] = a1;
a2[0] = 2
console.log(a1)
console.log(a2)
console.log(a3)

fb82cd4de184e10dd4a80e626188ff4.png


4.用Object.keys清空对象的属性值


es6新增keys方法,对数组进行遍历,返回遍历器对象,keys是对键名遍历,返回key的一个数组,再通过foreach循环,清空对象的属性


a4aec31ddb7099c7fa70a85f272b082.png

var param = {
    name:'may',
    age: '18'
}
var keys =Object.keys(param)
Object.keys(param).forEach(key => param[key] = '')
keys
param

5.forEach,遍历数组,无返回值,不改变原数组


forEach遍历数组,没有返回值,不改变原数组,仅仅只是用来遍历数组,常用来注册组件,指令等


var arr = [1,2,3,4]
arr.forEach((item,index,arr) => {
    console.log(item,index,arr)
})

4c6adbd2c6723ddc09bcb0055799ab9.png

6.map遍历数组,返回新数组,不改变原数组


map遍历数组,返回一个新的数组,不改变原数组


var arr = [1,2,3,4,5]
var brr = arr.map((item,index,arr) => {
    return item * 10
})
console.log(arr,brr)

b4c456ef092992b8c51fd5f2dea56a3.png


7.filter,过滤掉数组不符合条件的值,返回新数组,不改变原数组


filter,遍历数组,过滤掉数组中不符合条件的值,返回新数组,不改变原数组


var arr = [1,2,3,4]
var brr = arr.filter((item,index,arr) => {
    return item > 2
})
brr

22c6cad97d9ed2d0a40009e6dd82aae.png

8.reduce


reduce,让数组的前后两项执行方法里的条件,并返回最终计算结果,不改变原数组。函数多了一个result的参数,result是上次计算的结果,resulte默认值为第一个数组元素。


var arr = [1,2,3,4]
var b = arr.reduce((result,item,index,arr) => {
    return result + item
})
b


0c33b862286e25f5c735d49ee5b5e38.png


9 some()


some遍历数组,如果有一个元素符合条件,则返回true,并停止遍历;如果没有返回条件的元素,返回false。不改变原数组


var arr = [1,3,4,5]
var b = arr.some((item,index,arr) => {
    return item  === 4
})
b

9818170912e2e8b3bf11c6fbb6a4827.png

10.every



遍历数组,如果每个元素都符合条件,那么返回true;如果有一个元素不符合条件,则返回false,并停止遍历

var arr = [1,2,3,4]
var b = arr.every((item,index,arr) => {
    return item > 0
})
b


7198fd0962090b38426e8053cb2aae5.png


目录
相关文章
|
2月前
|
存储
`map()`方法在什么场景下会比 `forEach()`方法更高效?
综上所述,当需要对数组元素进行复杂的转换并生成新数组、进行链式调用和函数式编程、处理元素之间存在明确映射关系的情况以及与其他数组方法结合使用时,`map()`方法比`forEach()`方法更高效,能够使代码更加简洁、清晰和易于维护。
65 32
|
4月前
|
索引
ES5常见的数组方法:forEach ,map ,filter ,some ,every ,reduce (除了forEach,其他都有回调,都有return)
ES5常见的数组方法:forEach ,map ,filter ,some ,every ,reduce (除了forEach,其他都有回调,都有return)
|
2月前
|
存储 JavaScript 前端开发
如何选择使用`map()`方法和`forEach()`方法?
选择使用`map()`方法还是`forEach()`方法主要取决于操作的目的、是否需要返回值、代码的可读性和维护性等因素。在实际开发中,需要根据具体的业务需求和场景来灵活选择合适的方法,以实现更高效、更易读和更易维护的代码。
32 3
|
4月前
|
存储 JavaScript 前端开发
`forEach()`方法和`map()`方法哪个执行效率更高?
`forEach()`方法和`map()`方法哪个执行效率更高?
|
3月前
|
前端开发 JavaScript 索引
JavaScript 数组常用高阶函数总结,包括插入,删除,更新,反转,排序等,如map、splice等
JavaScript数组的常用高阶函数,包括遍历、插入、删除、更新、反转和排序等操作,如map、splice、push、pop、reverse等。
26 0
|
4月前
数组方法中的`forEach()`方法和`map()`方法有什么区别?
数组方法中的`forEach()`方法和`map()`方法有什么区别?
|
4月前
|
Go 定位技术 索引
Go 语言Map(集合) | 19
Go 语言Map(集合) | 19
|
4月前
|
存储 前端开发 API
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
该文章详细介绍了ES6中Set和Map数据结构的特性和使用方法,并探讨了它们在前端开发中的具体应用,包括如何利用这些数据结构来解决常见的编程问题。
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
|
5月前
|
存储 安全 Java
java集合框架复习----(4)Map、List、set
这篇文章是Java集合框架的复习总结,重点介绍了Map集合的特点和HashMap的使用,以及Collections工具类的使用示例,同时回顾了List、Set和Map集合的概念和特点,以及Collection工具类的作用。
java集合框架复习----(4)Map、List、set
|
5月前
|
Java
【Java集合类面试二十二】、Map和Set有什么区别?
该CSDN博客文章讨论了Map和Set的区别,但提供的内容摘要并未直接解释这两种集合类型的差异。通常,Map是一种键值对集合,提供通过键快速检索值的能力,而Set是一个不允许重复元素的集合。