-
concat()
- 复制当前数组所创建的副本,如果传参,会先创建副本,接收到的参数添加到副本数组的末尾。如果传递其他值,则直接添加到副本数组的末尾
- 复制当前数组所创建的副本,如果传参,会先创建副本,接收到的参数添加到副本数组的末尾。如果传递其他值,则直接添加到副本数组的末尾
-
splice
- 删除功能: splice(star,end) star:开始位置的索引,end:要删除元素的个数
- 插入功能:splice(index,0,insert)index:插入元素的索引值 insert:插入的项
- 替换功能: splice(index,n,item1,item2,...) index:需要替换的元素的起始位置
n: 需要替换的元素的个数,实质是删除 item1,item2:需要插入元素,用逗号隔开
- 删除功能: splice(star,end) star:开始位置的索引,end:要删除元素的个数
-
join
- 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的,默认使用','号分割,不改变原数组。
- 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的,默认使用','号分割,不改变原数组。
-
split
- 方法用于把一个字符串分割成字符串数组 split(separator,howmany)
separator:必填项,字符串或正则表达式,从该参数指定的地方分割 stringObjecthowmany:可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的字符串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
- 方法用于把一个字符串分割成字符串数组 split(separator,howmany)
-
indexOf
- indexOf(item,index)
返回元素在数组中的位置,若没检索到,则返回 -1.item:必填项,查找的元素index:可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。
- indexOf(item,index)
-
includes
- 判断数组中是否存在该元素,参数:查找的值、起始位置,可以替换 ES5 时代的 indexOf 判断方式。indexOf 判断元素是否为 NaN,会判断错误。
- 判断数组中是否存在该元素,参数:查找的值、起始位置,可以替换 ES5 时代的 indexOf 判断方式。indexOf 判断元素是否为 NaN,会判断错误。
-
push
- 方法可向数组的末尾添加一个或多个元素,并返回新的长度。末尾添加,返回的是长度,会改变原数组。
- 方法可向数组的末尾添加一个或多个元素,并返回新的长度。末尾添加,返回的是长度,会改变原数组。
-
pop
- 方法用于删除并返回数组的最后一个元素。返回最后一个元素,会改变原数组。
- 方法用于删除并返回数组的最后一个元素。返回最后一个元素,会改变原数组。
-
substring 和 substr
- substring(star, end)
star:截取字符串从当前下标以后直到字符串最后的字符串片段end:参数是截取字符串最终的下标 (截取star个位置之间的字符串,‘含头不含尾’) - substr(star,end)
star:截取字符串从当前下标以后直到字符串最后的字符串片段end:截取字符串的长度(star截取某个长度的字符串)
- substring(star, end)
-
sort
- sort(sortby): 按照 Unicode code 位置排序,默认升序
sortby :可选,用来规定排序的顺序,但必须是函数。
- sort(sortby): 按照 Unicode code 位置排序,默认升序
-
some
- some(item,index,array)对数组中元素进行判断,如果数组中有一个元素满足条件则返回true否则返回false.
item:数组中正在处理的元素index:数组中正在处理的元素的索引值array:some()被调用的数组some一直在找符合条件的值,一旦找到,则不会继续迭代下去。
- some(item,index,array)对数组中元素进行判断,如果数组中有一个元素满足条件则返回true否则返回false.
-
every
- every(item,index,array)对数组中元素进行判断,如果数组中所有项都满足条件则返回true否则返回false.
item:数组中正在处理的元素index:数组中正在处理的元素的索引值array:every()被调用的数组 对数组的每一项都运行给定的函数,每一项都返回 ture,则返回 trueevery从迭代开始,一旦有一个不符合条件,则不会继续迭代下去
- every(item,index,array)对数组中元素进行判断,如果数组中所有项都满足条件则返回true否则返回false.
-
filter
- filter(item,index,array) 创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素,但有两点要注意的是
1.不会对空数组进行检测 2.不会改变原始数组
- filter(item,index,array) 创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素,但有两点要注意的是
-
map
- map(item,index,array)返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值,不会改变原数组
- map(item,index,array)返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值,不会改变原数组
-
forEach
- forEach(item,index,array) 用于调用数组的每一个元素,并将元素传递给回调函数
- forEach(item,index,array) 用于调用数组的每一个元素,并将元素传递给回调函数
-
reduce
- reduce(prev,cur,index,arr)接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值.
prev:必填值。初始值, 或者计算结束后的返回值。cur:必填值。当前元素index:可选。当前元素的索引arr:可选。当前元素所属的数组对象。
- reduce(prev,cur,index,arr)接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值.
-
find
- 传入一个回调函数,找到数组中符合当前搜索规则的第一个元素,返回它的元素,并且终止搜索。
- 传入一个回调函数,找到数组中符合当前搜索规则的第一个元素,返回它的元素,并且终止搜索。
-
findIndex
- 传入一个回调函数,找到数组中符合当前搜索规则的第一个元素,返回它的下标,终止搜索。
- 传入一个回调函数,找到数组中符合当前搜索规则的第一个元素,返回它的下标,终止搜索。
-
flat()
- flat()方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
- flat()方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
-
Array 转化为 Object
- es10提出的:低版本不兼容
一、 通过 Object.fromEntries, 可以将 Array 转换为 Object: const arr = [ ['0', '前端'], ['1', 'Java'], ['2', 'py'] ]; const obj2= Object.fromEntries(arr); console.log(obj2); // { '0': '前端', '1': 'Java', '2': 'py' } 二、 const arrName = ['张三', '李四', '王五'] const arrAge=['20','30','40'] const arrDec = ['摸鱼1', '摸鱼2', '摸鱼3'] const obj = arrName.map((item,index)=>{ return { name: item, age: arrAge[index],dec:arrDec[index]} }) console.log(obj) // [{ name: '张三', age: '20', dec: '摸鱼1' }, { name: '李四', age: '30', dec: '摸鱼2' }, { name: '王五', age: '40', dec: '摸鱼3' }] -
Object 转为 Array
- 将数组的key和value转化成数组
Object.keys({ name: '张三', age: 18 }) //['name','age'] Object.values({ name: '张三', age: 18 }) //['张三',18] Object.entries({ name: '张三', age: 18 }) //[[name,'张三'],[age,18]]
掌握这一些方法,在项目中处理数组基本上够用了,一定要灵活运用啊, 谢谢观摩!如有其他的方法提出来一起分享哦