push() 在数组末尾添加元素,接收一个或多个参数
unshift() 在数组首位添加元素,接收一个或多个参数
pop() 删除数组末尾元素
shift() 删除数组第一个元素
splice() 在任意位置添加或删除元素。原数组发生改变,返回删除的元素。
第一个参数表示要删除或参入元素的索引值
第二个参数表示要删除元素的个数(只插入传入0)
第三个参数表示要提添加到数组的元素
new Array(1) 新建一个长度为1的数组

slice() 传入索引值,截取元素,含头不含尾,或只传入一个参数截取到最后。原数组不变,返回截取的元素。
concat() 连接2个或多个数组,并返回结果
indexOf() 返回第一个与给定参数相等的数组元素的索引,没有找到则返回-1
lastIndexOf() 返回在数组中搜索到的与给定参数相等的元素的索引里最大的值,没有则返回-1
join() 将所有的数组元素连接成一个字符串
reverse() 颠倒数组中的元素
sort() 排序
toString() 将数组作为字符中返回,原数组不变
valueOf() 返回原数组
every() 对数组中的每一项运行给定函数,如果该函数每一项都返回true,则返回true
some() 对数组中的每一项运行给定函数,如果该函数任一项都返回true,则返回true
forEach() 对数组中的每一项运行给定函数,没有返回值
map() 对数组中的每一项运行给定函数,返回每次函数调用return的结果组成的数组
filter() 对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组
reduce() 接收一个函数作为参数,这个函数有四个参数:previousValue、currentValue、index、array。这个函数会返回一个将被叠加到累加器的值,reduce方法停止后会返回这个累加器。

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var sum = arr.reduce((previous, current) => previous + current);
// 55

reduceRight() 功能和 reduce() 功能是一样的,不同的是 reduceRight() 从数组的末尾向前将数组中的数组项做累加。
Array.isArray() 用于确定传递的值是否是一个 Array。

Array.from() 将类数组对象和可遍历的对象(如NodeList对象、字符串等)转为真正的数组

Array.from('hello')
// ['h', 'e', 'l', 'l', 'o']let namesSet = new Set(['a', 'b'])
Array.from(namesSet) // ['a', 'b']

Array.of() 将一组值,转换为数组

Array() // []
Array(3) // [, , ,],每一项为empty
Array(3, 11, 8) // [3, 11, 8]

copyWithin() 在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。也就是说,使用这个方法,会修改当前数组。

Array.prototype.copyWithin(target, start = 0, end = this.length)

它接受三个参数。
target(必需):从该位置开始替换数据。如果为负值,表示倒数。含头不含尾。
start(可选):从该位置开始读取数据,默认为 0。如果为负值,表示倒数。
end(可选):到该位置前停止读取数据,默认等于数组长度。如果为负值,表示倒数。

[1, 2, 3, 4, 5].copyWithin(3, 2)
// [1, 2, 3, 3, 4], 数组长度没有发生变化

find() 接收一个函数作为参数,所有数组成员依次执行该回调函数,返回第一个符合条件的数组成员。如果没有符合条件的成员,则返回undefined。
findIndex() 接收一个函数作为参数,返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1。

fill() 使用给定值,填充一个数组。

keys() 是对键名的遍历
values() 是对键值的遍历
entries() 是对键值对的遍历。
它们都返回一个遍历器对象,可以使用for…of循环

for (let index of ['a', 'b'].keys()) {console.log(index);
}
// 0
// 1for (let elem of ['a', 'b'].values()) {console.log(elem);
}
// 'a'
// 'b'for (let [index, elem] of ['a', 'b'].entries()) {console.log(index, elem);
}
// 0 "a"
// 1 "b"

includes() 返回一个布尔值,表示某个数组是否包含给定的值
flat() 将嵌套的数组“拉平”,变成一维的数组。该方法返回一个新数组,对原数组没有影响。

[1, [2, [3]]].flat(Infinity)
// [1, 2, 3]

前端基础——数组的方法相关推荐

  1. 歌谣学前端之数组的方法

    前言 我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 ...

  2. javaScript基础数组属性方法

    数组: 1.Array.push() 在数组末尾添加元素并返回新的长度 let arr = ["张三","李四","王五"]; consol ...

  3. splice方法_[7000字]JavaScript数组所有方法基础总结

    基础决定一个人的上限,很多时候我们感叹别人在实现一个功能时使用方法的精妙,并且反思,为什么别人想的出来自己却想不出来?我觉得主要是因为对于基础的掌握上有很大的差距.本文总结数组的所有方法的基础使用,希 ...

  4. js基础---数组方法

    数组数据的排序及去重 sort无形参的排序方式 arr1=[2,12,3,15];var a=arr1.sort();console.log(arr1);console.log(a);//排序会改变原 ...

  5. 从零开始学前端:字符串和数组的方法 --- 今天你学习了吗?(JS:Day10)

    从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(JS) 复习:从零开始学前端:作用域.执行顺序 - 今天你学习了吗?(JS:Day9) 文章目录 从零开始学前端:程序猿小白也可以完全掌握 ...

  6. Java基础语法之变量、运算符、流程控制、数组和方法等基础语法

    变量.运算符.流程控制.数组和方法等基础语法.Java程序的执行流程,符合Java语法规则的程序. 1.1.1 Java初识 对Java进行简单介绍,Java程序如何执行,以及Java程序的结构. J ...

  7. 性能测试之前端性能优化(前端基础知识,前端性能测试常用工具,前端性能优化常见方法)

    目录 1. 前端基础知识 1.1 为什么要关注前端页面的性能,了解页面的加载,渲染方式和顺序? 1.2 一次页面请求会经历哪些步骤? 1.3 页面的展示过程 2. 前端性能测试的常用工具 2.1 Go ...

  8. 前端合并数组\对象的方法

    let arr1 = ['a', 'b']let arr2 = ['c', 'c']let arr3 = ['d', 'e']// ES5 的合并数组// arr1.concat(arr2, arr3 ...

  9. 前端开发:JavaScript合并数组的方法

    前言 在前端开发的时候,对于数据处理是很重要的一块,尤其是要根据实际的业务需求来处理数据,有很强的兼容性要求.而且有些时候后端提供的数据和实际的业务需求数据是有偏差的,所以前端在拿到后台返回的数据之后 ...

最新文章

  1. java构造和解析json_Java构造和解析Json数据的两种方法详解一
  2. java 序列化慢_java原生序列化慢在哪里?
  3. android layout 对齐,安卓利用TableLayout实现控件列对齐
  4. Day 12: OpenCV —— Java开发者的人脸检测
  5. AI开发者大会:2020年7月3日09:50--10:10唐杰《人工智能的下一个十年》
  6. 经典C语言程序100例之八
  7. svn add Default@2x.png的文件含有@的文件名注意事项
  8. Spring+Hibernate+SpringMVC+MySql实现配置多个数据源!
  9. SpringMVC解决静态资源不能访问
  10. php redis存储位置,redis数据保存在哪里
  11. NOIP 2007 普及组初赛试题(C++)(无答案)
  12. springcloud(一):大话Spring Cloud
  13. Dubbo(RPC原理、Dubbo架构负载均衡配置方式)(3)
  14. linux使用入门教程
  15. elasticsearch安装使用
  16. 暗影精灵4如何调节风扇转速_关于解决暗影精灵4散热问题。
  17. C++ _stdcall和__stdcall的区别
  18. 【HAVENT原创】Firebase 相关操作及代码示例
  19. C++字符串常量总结(包含表达式必须是可修改的左值问题)
  20. Android控件之Button

热门文章

  1. 电子招投标系统源码之了解电子招标投标全流程
  2. PHP 实现精确统计在线人数功能
  3. 加号和字符串拼接符号
  4. 亚马逊跨境电商和国内的电商平台哪个好?
  5. 2021-09-26 计科 许佳怡
  6. centos 安装yapi 详细教程
  7. 手机号核验复开是什么意思?可能你涉及到这些行为了!
  8. Python之科赫曲线绘制
  9. @03Python基础语法
  10. 如何制作一张完美的VR全景图片?