博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript中数组常用的方法和属性
阅读量:5242 次
发布时间:2019-06-14

本文共 2065 字,大约阅读时间需要 6 分钟。

前言

在javascript中,数组是一种非常重要的数据类型,我们时常会和它打交道,最近在开发项目中频繁的使用到数组,但是自己对数组的众多方法已经是非常模糊了,为了方便自己以后能够更好的使用数组中的属性和方法,在此记录一下。

数组常用的属性和方法

常用属性

  • Array.length:返回数组的大小

常用方法

  • Array.pop():删除并返回数组的最后一个元素

  • Array.push():向数组的结尾添加元素

  • Array.shift():将元素移除数组

  • Array.unshift():向数组头部添加元素

  • Array.join():将数组元素连接起来以构成一个字符串

  • Array.concat():连接数组

  • Array.reverse():将数组进行反转

  • Array.sort():将数组进行排序

  • Array.slice():返回数组的一部分

  • Array.splice():插入,删除或替换数组中的元素

  • Array.toString():将数组转换为一个字符串

  • Array.map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组

  • Array.forEach():对数组中的每一项运行给定函数,这个方法没有返回值

  • Array.filter():对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组

  • Array.some():对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true

  • Array.every():对数组中的每一项运行给定函数,如果该函数对每一项都返回ture,则返回true

  • Array.isArray():判断是否是数组

  • Array.reduce():迭代数组的所有项,然后构建一个最终返回的值,从数组的第一项开始,遍历数组的每一项到最后

  • Array.reduceRight():迭代数组的所有项,然后构建一个最终返回的值,从数组的最后一项开始,向前遍历到第一项

实例讲解

为了方便大家的理解和使用,我会将这些方法进行分类讲解和分析

(1):Array.length属性

            

(2):栈方法push()和pop()

            
数组中的栈方法

(3):队列方法shift()和unshift()

            
数组中的队列方法

(4):重排序方法sort()和reverse()

            
数组中的重排序方法

(5):操作方法slice()、splice()、concat()

            
数组中的操作方法

使用slice()方法,如果传入一个参数,则从开始下标到截取到数组的结尾,如果传入两个参数,则从开始下标到结束下标。

使用splice()方法,插入的项是从移除的下标那项开始添加。

(6):转换方法toString()和join()

            
数组中转换方法

(7):迭代方法some()、filter()、map()、forEach()、every()

            
数组中的迭代方法

在这些方法中,最相似的是every()和some(),它们都有用于查询数组中的项是否满足某个条件,对于every()来说,传入的函数必须对每一项都返回true,这个方法才会返回true,否则,它就会返回false,而some()方法只要传入的函数对数组中的某一项返回true,它就会返回true。

(8):归并方法reduce()和reduceRight()

            
数组中的归并方法

使用reduce()还是reduceRight(),主要取决于要从哪头开始遍历数组。除此之外,它们完全相同。

总结

数组中如此之多的方法,我们并不是每一个都需要记忆,只需找到规律然后对数组中的方法进行分组便可以实现很好的记忆方式。如:Array.pop()和Array.push(),Array.shift()和Array.unshift(),Array.slice()和Array.splice(),Array.some()和Array.every(),Array.reduce()和Array.reduceRight()。

 

转载于:https://www.cnblogs.com/jjgw/p/11608609.html

你可能感兴趣的文章
hdu 2044-2050 递推专题
查看>>
hdu 3573(数学+贪心)
查看>>
一个曲折的让我懵了的故事
查看>>
asp.net文本框中如何禁止复制粘贴
查看>>
无法打开输入文件“optimized.lib” 编译osgEarth2.8+VS2013+CMake3.4.0在Release版本的问题...
查看>>
avs2解码软件:参考帧管理
查看>>
【刷题】BZOJ 3144 [Hnoi2013]切糕
查看>>
Python--进阶处理9
查看>>
判断对象相等时的问题(==)
查看>>
忘记linux root密码或进入单用户方法
查看>>
CryptographyUtil盐加密
查看>>
湖南集训day4
查看>>
在终端更改MAC的MySQL的root密码
查看>>
求整数的二进制表示中1的个数 (转)
查看>>
高仿BiliBili的iOS客户端源码项目
查看>>
poj 1228 凸包
查看>>
webapi返回json格式优化 转载https://www.cnblogs.com/GarsonZhang/p/5322747.html
查看>>
Hibernate关系映射(三) 多对一和一对多
查看>>
网络上找到的 SQL 存储过程学习
查看>>
ZipFile解压文件不改变压缩包内文件修改日期的方法
查看>>