网站首页 > 技术文章 正文
1、会改变原数组的方法
(1).push()方法在数组的尾部添加一个或多个元素,并返回数组新的长度
(2).pop()方法删除数组的最后一个元素,会减小数组长度并返回它删除的值
(3).unshift()方法在数组的头部添加一个或多个元素,并返回数组新的长度
(4).shift()方法删除数组的第一个元素,然后把所有随后的元素前移一个位置来填补数组头部的空缺,并返回删除的元素
(5).splice(start)方法在数组中插入或删除元素的通用方法.
(6).sort()方法将数组中的元素排序,并返回排序后的数组.
sort(fn)接收一个函数,默认排序是将数组中的元素转换为字符串,然后比较他们UTF-16单元值序列排序.
const arr = [1, 20, 5, 32, 1000]
log(arr.sort()) // [1, 1000, 20, 32, 5]
fn用来指定按某种顺序进行排序的函数,有两个参数.a第一个用于比较的元素. b用于比较的第二个元素
如果fn(a, b) 小于 0 那么a会排在b前面.
如果fn(a, b) 等于 0 那么a和b的相对位置不变
如果fn(a, b) 大于 0 那么b会排在a前面.
[3,4,5,10,1].sort((a, b) => a - b) // [1,3,4,5,10]
复制代码
(7).reverse()方法将数组中的元素颠倒顺序,并返回倒序的数组
2、不改变原数组的方法
(1).slice(start,end)方法返回一个从开始到结束(不包括结束)的数组的一部分浅拷贝到一个新数组中,并返回.不会改变原数组
(2).join()方法将一个数组中的所有元素转换为字符串并返回一个新的数组元素串联起来的字符串,参数可接收一个字符串为分隔符.默认为',' 可用于简单的数组偏平化
(3).toString()方法将数组的每个元素转换为字符串,并返回一个用','分隔的字符串.可用于简单的数组偏平化
(4).concat()方法用于合并两个或多个数组.并返回一个新数组.注意点,concat()方法只是浅拷贝.所以原始数组和新数组都引用的相同的对象,新老的对象被修改,都将发生改变
(5).isArray()方法用于判断元素是否是一个Array,返回一个Boolean
3、数组遍历,映射,过滤等方法
(1).forEach()方法是从头到尾遍历数组,为每个元素调用指定的函数.注意forEach()方法无法中途退出循环,return只能退出本地回调,进行下一次回调.如果想提前终止,可以使用try块中,并能抛出一个异常throw. 想改变原数组记得使用第三个参数
(2).map()方法创建一个新数组,并返回一个每个元素执行指定函数后的新数组,注意: map()方法会创建一个新的数组,占用内存,如果不使用指定函数后的返回值.那就应当用forEach()方法
(3).filter()方法用于筛选出符合指定函数的判断的方法.返回的数组是调用指定函数后的新数组.
(4).every()方法用于检查数组中每个元素是否符合指定函数的条件.当数组所有元素都返回true,最终返回才是true,否则返回false
(5).some()方法用于检查数组中是否有一个元素符合指定函数的条件,如果有就返回true,否则返回false
(6).reduce()方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终返回一个计算值,reduce()对于空数组不会执行指定函数,通常用于求和
(7).indexOf(某元素, startIndex)方法用于从什么地方开始查找某元素在数组中的位置,若存在,则返回第一个位置的下标,否则返回-1
[1,2,3,4,2,4,5].indexOf(2) // 1
[1,2,3,4,2,4,5].indexOf(4,4) // 5
复制代码
(8).lastIndexOf()方法与indexOf()相同,区别在于从尾部向首部查询.两者都不会改变原数组
(9).find()方法用于判断数组中是否有符合指定函数的元素,如果有就返回第一个符合条件的元素值.否则就返回undefined (ES6新增)
(10).findIndex()方法用于判断数组中是否有符合指定函数的元素,如果有就返回符合条件的元素索引值,否则返回-1.(ES6新增)
(11)keys()方法用于从数组创建一个包含数组键的可迭代对象.(ES6新增)
(12)values()方法用于从数组创建一个包含数组值的可迭代对象.(ES6新增)
(13).include()方法用于查看数组中是否与存在指定的值.返回一个boolean,用于简单数组(ES7)
猜你喜欢
- 2024-09-08 「JavaScript 从入门到精通」10.数组
- 2024-09-08 JS——数组的方法 & 高阶函数
- 2024-09-08 Javascript中的内置对象—数组(javascript内置对象应用的)
- 2024-09-08 js数组方法笔记(js的数组)
- 2024-09-08 JavaScript 数组元素的一些操作(javascript中数组)
- 2024-09-08 Javascript数组应用及场景——创建数组的N种方式详解
- 2024-09-08 详解JS数组API方法重构(js 数组 api)
- 2024-09-08 手把手教你Javascript (6)-数组(javascript10分钟速成)
- 2024-09-08 JS核心基础数组的操作概述(js数组原理)
- 2024-09-08 JavaScript操作数组的方式都有哪些
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)