数组常用方法有哪些?(详细代码)
- join():用指定的分隔符将数组每一项拼接为字符串
- push() :向数组的末尾添加新元素
- pop():删除数组的最后一项
- shift():删除数组的第一项
- unshift():向数组首位添加新元素
- slice():按照条件查找出其中的部分元素
- splice():对数组进行增删改
- forEach():循环遍历数组每一项
- map():循环遍历操作数组每一项,返回新数组(ES6)
- filter(): 过滤数组筛选出满足条件的数据(ES6)
- reduce(): 实现累加器,返回一个最终值(ES6)
- concat():用于连接两个或多个数组
- indexOf():检测当前值在数组中第一次出现的位置索引
- includes():判断一个数组是否包含一个指定的值
- sort():对数组的元素进行排序
- lastIndexOf():检测当前值在数组中最后一次出现的位置索引
- some():判断数组中是否存在满足条件的项(ES6)
- every():判断数组中每一项都是否满足条件(ES6)
- find():返回匹配的值(ES6)
- findIndex():返回匹配位置的索引(ES6)
- flat()、flatMap():扁平化数组(ES6)
- fill(): 方法能使用特定值填充数组中的一个或多个元素(ES6)
- copyWithin():用于从数组的指定位置拷贝元素到数组的另一个指定位置中(ES6)
- toLocaleString()、toString():将数组转换为字符串
- reverse():对数组进行倒序
- entries() 、keys() 、values():遍历数组
reduce方法(详细代码)
- reduce方法有两个参数,第一个参数是回调函数,第二个参数是初始值。
- 回调函数有四个参数,分别是上一个值(pre)、当前值(cur)、当前值的索引(curIndex)、调用reduce的数组(arr),后两个参数是非必选。
- 应用于数组求和求积、计算数组中每个元素出现的次数、数组去重、数组扁平化
sort方法(详细代码)
默认排序顺序是在将元素转换为字符串,然后根据字符串Unicode码进行升序排序
return a - b 升序(交换位置,b在前,a在后)
return b - a 降序
substr()、substring()、slice()、splice()、split()的区别?(详细代码)
forEach 和map的区别?
- foreach没有返回值,而map会返回一个新的数组。
- foreach会改变原数组,而map不会改变原数组,只会创建一个新的数组。
- foreach可以中断循环,使用try语句,而map不能中断循环,只能遍历完整个数组。
- foreach不支持链式调用,而map支持链式调用,可以继续对返回的新数组进行操作。
for···in··· 和 for···of··· 的区别
- for···in···用来遍历数组和对象的键(key)
- for···of···用来遍历数组的值(value)
- for···in··是ES5里的标准
- for···of···是ES6里的标准