js 数组方法总结

时间:2021-2-20 作者:admin

根据方法特性分类数组方法

改变数组自身的方法

3个常用方法:
  • splice(startIndex, deleteCount, ...items)–从指定位置添加元素,返回被删元素(新增时返回空数组)。
  • sort(func(a,b))–数组排序,按照字符编码的顺序排序。时间复杂度跟浏览器实现方法有关。
  • reverse() –数组头尾颠倒,在谷歌中相当于sort((a,b)=>-1),在火狐中相当于sort((a,b)=>1)
增删(队列、栈实现)方法:
  • push(...items)–从尾部添加元素。
  • pop()–去掉尾部元素。
  • unshift(...items)–从头部添加元素。
  • shift() –去掉头部元素。
处理方法:
  • fill(value,start,end) –将value值填满start索引至end索引位置,不含end位置。
  • copyWithin(targetIndex,start,end) –将start至end(可选)处元素,复制并替换targetIndex往后的元素。数组长度不变。

不影响原数组的方法

增删方法:
  • slice(start,end)–从’start’索引浅拷贝到’end’索引,并返回。
  • concat(...items)–将参数元素合并到该数组。若参数为数组,则取其元素。
查询方法:
  • indexOf(item)–查询指定元素索引,没有返回-1。
  • lastIndexOf(item,start)–查询指定元素最后出现的位置,’start’指定起始查询位置,可选。
  • includes(item)–若数组含有该元素,返回true,反之false。
  • find(func(item, index, arr))–返回满足func()条件的第一个元素
  • filter(func(item, index, arr))–返回满足func()条件所有元素(数组)
  • findeIndex(func(item, index, arr))–返回满足func()条件的第一个元素索引值
处理方法:
  • map(func(item, index, arr))–返回一个,由func返回元素组成的新数组。
  • split(str,len)–String的方法,返回将str分割后的数组。str:分隔符号/正则表达式,len返回数组指定长度。
  • join(str)–在数组元素间插入str,返回拼接后的字符串。不传参数时,元素间用逗号拼接。
  • reduce(func(acc,item,index,arr),initialValue)–返回数组经过func处理后的最终迭代结果。acc:上一次迭代结果;item:当前值(从第二个元素开始);index:当前执行元素索引(从1开始),arr:原数组,initialValue:首次调用func的acc初始值。
  • reduceRight(func(acc,item,index,arr),initialValue)–等同于reduce(),func从右侧开始执行。
  • forEach(func(item, index, arr))–遍历数组,无返回值。
  • isArray(arr)–判断arr是否为数组,返回布尔值。
其他:
  • from(arrlike,func(item),this)–由类数组对象生成一个新的浅拷贝数组。
  • of(...items)–由传入的参数,生成一个数组。
  • entries()–返回新的数组迭代对象,对象包含每个索引的键值对。
  • keys()–返回由索引键构成的可迭代对象。
  • values()–返回由每个索引的值构成的可迭代对象。
  • every(func(item,index,arr),this)–是否所有元素满足func的条件,返回布尔值true。
  • some(func(item,index,arr),this)只要有元素满足func的条件,返回布尔值true。
  • flat(depth)–按指定深度depth,对数组降维,返回新数组。
  • flatMap()–相当于map遍历数组后,再执行depth为1的flat()函数。
  • toString()–返回由逗号拼接了各个元素的字符串。
  • toLocaleString(locales,options)–返回由逗号拼接了各个元素的字符串。(可指定语言环境)
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。