JavaScript操作数组的一些方法整理

2018-09-0709:51:26WEB前端开发Comments2,243 views字数 2329阅读模式

会改变自身的方法

  1. array.copyWithin(target, start [, end = this.length])用于在数组内的替换操作(有兼容问题)start和end允许为负值。
  2. array.fill(value [,statrt = 0[, end = this.length]])将数组中指定区间的所有元素的值替换为value,start和end允许为负值。
  3. array.pop()删除一个数组中的最后一个元素,并返回这个元素。
  4. array.shift()删除数组第一个元素,并返回这个元素。
  5. array.push()添加一个或者多个元素到数组末尾,并返回数组新的长度。
  6. array.unshift()在数组开头插入一个或者多个元素,并返回数组新长度。
  7. array.reverse()前后颠倒数组中元素的位置,第一个元素会成为最后一个。
  8. array.sort([function(a, b)])对数组的元素做原地排序,并返回这个数组。
  9. array.splice(start, deleteCount[, item1[, item2...])在任意的位置给数组添加或者删除任意个元素,返回被删除元素组成的数组,没有则返回空数组。

不会改变自身的方法

  1. array.concat(value1, value2.....)将传入的数组或者非数组值与原数组合并,组成一个新的数组并返回。
  2. array.includes(searchElement, [, fromIndex])用来判断当前数组是否包含某指定的值,返回布尔值。
  3. array.join([separator = ','])将数组中的所有元素连接成一个字符串(默认用逗号作为分隔符,如果separator是一个空的字符串,那么数组中的所有元素将被直接连接),如果元素是undefined或者null,则会转换为空字符串。
  4. array.slice([begin = 0 [, end = this.length - 1]])把数组中一部分的浅复制(shallow copy)存入一个新的数组对象中,并返回这个新的数组。
  5. array.toString()返回一个字符串,该字符串由数组中的每个元素的toString()返回值经调用join()方法连接,(由逗号隔开)组成。
  6. array.toLocaleString()返回一个字符串表示数组中的元素。数组中的元素将使用各自的toLocaleString方法转换成字符串,这些字符串将使用一个特定的语言环境的字符串(例如逗号)隔开。
  7. array.indexOf(searchElement[, fromIndex = 0])返回指定元素能在数组中找到的第一个索引值,否则返回-1。
  8. array.lastIndexOf(searchElement[, fromIndex = arr.length - 1]) 返回指定元素在数组中的最后一个索引,如果不存在则返回-1。从数组的后面向前排查。

数组遍历的方法

  1. array.forEach((v, i, a) => {})让数组的每一行都执行一次给定的函数,(v表示当前值,i当前索引,a数组本身)。
  2. array.entries()返回一个Array Iterator对象,该对象包含数组中每一个索引的键值对。
  3. array.every(callback(v, i, a){})callback只会为那些已经被赋值的索引调用,不会为那些删除或者从来没有被赋值的索引调用(返回一个Boolean值,即对每个元素callback函数结果作逻辑&操作)。
  4. array.some() 使用方法和arr.evety()方法相同。(对每个元素的callback函数结果作逻辑||操作)。
  5. array.filter((v, i, a) => {})使用指定函数测试所有元素,并创建一个包含所有测试通过元素的新数组。(callback函数返回一个布尔值,true通过测试,callback只会在已经赋值的索引上调用,对于那些已经被删除或者从未被赋值的索引不会调用)。
  6. array.find((v, i, a) =>{})目前有兼容性问题。返回数组中满足测试条件的第一个元素,如果没有满足条件的元素,则返回undefined。
  7. array.keys()返回一个数组索引的迭代器(类似于arr.entries()方法)。
  8. array.map((v, i, a) => {})返回一个由原数组中的每一个元素调用一个指定方法后的新返回值组成的新数组,map不修改调用它本身的原数组(当然可以在callback执行时改变原数组)。
  9. array.reduce(callback[, initialValue])该方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始合并,最终为一个值。
         previousValue:上一次调用回调返回的值,或者是提供的初始值(initialValue)
         currentValue: 数组中当前被处理的元素
         index: index
         array: 调用的数组
         如果 initialValue 在调用 reduce 时被提供,那么第一个 previousValue 等于 initialValue ,并且currentValue 等于数组中的第一个值;如果initialValue 未被提供,那么previousValue 等于数组中的第一个值,currentValue等于数组中的第二个值。
    复制代码
  10. array.reduceRight()使用同array.reduce()相同,执行方向相反。

作者:路过人间
链接:https://juejin.im/post/5ac176f3518825557b4ce502
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/4448.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/4448.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/gcs/4448.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定