总结一下JS数组API

2017-07-27  本文已影响0人  云峰yf

前言

此文仅仅是本人自己对JS的数组API进行简单的分类,具体信息请去Moz文档查阅
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array

静态方法与实例方法

首先,分清一下Array对象上的静态方法和实例方法,静态方法就是只存在于Array对象上的方法,比如用Array.xxx()调用,而实例方法是写在原型链上的,各种数组和Array共享,可以直接调用比如[].xxx()

小工具

Array.length

除了直接拿来用,还可以判断数组是否为空,也可以直接截短数组(不常用)

Array.isArray

判断数组类型,不用typeof和instanceof

Array.from

类数组转数组,像DOM的一些集合,arguments,还有Set/Map/String等数据结构都可以转

Array.of

多参数转数组,和new Array不一样

fill

可以填充元素,常常和new Array()一起用

toString/toLocalString:

重写了Object的相关方法,返回经join连接的字符串

增删改查

pop/push/shift/unshift

模拟栈和队列常用,要注意出队是shift

find/findIndex/includes/indexOf/lastIndexOf

查值查索引(传回调),模糊查找,顺着查倒着查索引

join

数组转字符串,和字符串的split方法互相照应

slice/concat/splice:

拆和合,还有一个增删改都能干的splice
concat还可以将非数组值合并到数组里

copyWithin:

浅复制,目前还没用到过

迭代相关

keys/enenties/values

都是返回一个迭代器对象,可以配合of或者in循环获取内容

函数式编程工具函数

every/some

逻辑里面的所有和存在

sort/reverse

排序和反转,算法题经常用

forEach/map/filter

遍历/映射/过滤,根据特定场景选择使用

reduce/reduceRight

累加/反向累加,设定初始值可以做一些很酷的事情

上一篇 下一篇

猜你喜欢

热点阅读