广告
返回顶部
首页 > 资讯 > 精选 >JavaScript数组常见使用方法有哪些
  • 785
分享到

JavaScript数组常见使用方法有哪些

2023-07-04 19:07:39 785人浏览 安东尼
摘要

今天小编给大家分享一下javascript数组常见使用方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1. push

今天小编给大家分享一下javascript数组常见使用方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

1. push()

  • 概括:数组末位增加

  • 参数:需要增加的数据

  • 返回值:数组更新后的长度

 let arr = [1,2,3] arr.push(1) // 返回新增后的数组长度 4 arr.push() // 不传参数默认不新增 4 arr.push(1,2,3) // 新增多条数据时,返回新增完成后的数组长度 7

2. pop()

  • 概括:数组末位删除

  • 参数:无

  • 返回值:删除的数据

 let arr = [3] arr.pop() // 返回已删除的数据 3 arr.pop() // 当数组数据为空时,返回 undefined

3. unshift()

  • 概括:数组首位新增

  • 参数:需要新增的数据

  • 返回值:数组的长度

 let arr = [1,2,3] arr.unshift(1) // 返回新增后的数组长度 4 arr.unshift() // 不传参数默认不新增 4 arr.unshift(1,2,4) // 新增多条数据时,返回新增完成后的数组长度 7

4. shift()

  • 概括:数组首位删除

  • 参数:无

  • 返回值:数组的长度

 let arr = [3] arr.shift() // 返回已删除的数据 3 arr.shift() // 当数组数据为空时,返回 undefined

5. reverse()

  • 概括:反转数组

  • 参数:无

  • 返回值:会将原数组修改成反转之后的数组

 let arr = [1,2,3] arr.reverse() // 返回反转之后的数组 [3,2,1]  let arr = [] arr.reverse() // 当数组数据为空时返回 []

6. sort()

  • 概括:将数组进行排序

  • 参数:排序函数

 // 当参数1 - 参数2时,为正序  function justSort(a,b) {    return a-b } // 当 参数2 - 参数1 时,为倒序 function backSort(a,b) {    return b-a }
  • 返回值:排序后的数组

 let arr = [1,2,3] arr.sort() // 不传参默认通过Unicode(万国码)进行排序 [1,2,3] arr.sort(backSort) // 通过排序函数进行排序 [3,2,1]

7. join()

  • 概括:将数组转化成字符串

  • 参数:根据指定字符(可用空字符串)进行转化

  • 返回值:返回转化成字符串后的字符串

 let arr = [1,2,3] arr.join() // 不传参默认根据逗号进行转化 1,2,3 arr.join('') // 根据空字符串进行转化 123 arr.join(',') // 根据逗号进行转化 1,2,3

8. splice()

  • 概括:删除并替换指定单元的数据

  • 参数:该方法默认有几种传参情况

    • 一个参数:数组中保留几位,其余删除

    • 两个参数:参数1(开始索引)、参数2(删除个数)

    • 三个参数:参数1(开始索引)、参数2(删除个数)、参数3+(插入的数据,第三个参数以后可以传多个参数)

  • 返回值:已删除的数组数据

 let arr = [1,2,3,4] arr.splice() // 不传参默认不删除不插入,返回空数组 [] arr.splice(3) // 数组中默认保留3位数据, 返回删除后的数据 [4] arr.splice(0,1) // 从数组首位删除一条数据 [1] arr.splice(0,1,9) // 从首位删除一条数据,并插入一条数据 [2] arr.splice(0,1,9,8,7,6,5,4,3,2,1) // 从首位删除一条数据并插入多条数据(参数3之后的为插入 [9]

9. slice()

  • 概括:截取并拷贝出子数组

  • 参数:两个参数

    • 参数1:起始位置,不传参数2默认截取起始位置之后的数据

    • 参数2:结束位置前一位

  • 返回值:截取的数组

 let arr = [1,2,3,4] arr.slice() // 不传参默认截取全部 [1,2,3,4] arr.slice(1) // 从索引为1的位置默认截取到末尾 [2,3,4] arr.slice(1,3) // 从索引为1的位置截取到索引为3的位置前一位 [2,3]

10. concat()

  • 概括:将数据合并到新数组中并返回

  • 参数:参数1+(参数可以设置多个,每个参数都将合并到原数组中,如果入参是一个数组会将入参数据合并到原数组中)

  • 返回值:合并后的新数组

 let arr = [1,2,3,4] arr.concat(5) // 会将入参数据合并到原数组中 [1,2,3,4,5] arr.concat(5,6,7,8) // 可以入参多条数据 [1,2,3,4,5,6,7,8] arr.concat([5,6,7,8]) // 可以入参数组进行合并,合并至原数组 [1,2,3,4,5,6,7,8]

11. indexOf()

  • 概括:返回指定单元的索引

  • 参数:参数1(要查找的数组数据),参数2(查找的起始位置)

  • 返回值:找到指定数据返回索引,未找到返回 -1

 let arr = [1,2,3,4] arr.indexOf(3) // 查找数组中指定数据的下标 2 arr.indexOf(5) // 未找到数组中指定数据 -1

12. forEach()

  • 概括:遍历数组(需要配合函数使用)

  • 参数(入参函数参数)

    • 参数1:数组单元数据

    • 参数2:每个单元索引

    • 参数3:数组本身

  • 返回值:undefined

 let arr = [1,2,3,4] arr.forEach((data,index,array) => {     console.log(data) // 数组每个单元数据     console.log(index) // 数组下标     console.log(array) // 原数组本身 })

13. map()

  • 概括:遍历数据(进行映射)

  • 参数(入参函数参数)

    • 参数1:数组单元数据

    • 参数2:每个单元索引

    • 参数3:数组本身

  • 返回值:返回映射后的新数组

  let arr = [1,2,3,4]  arr.map((data,index,array) => {      console.log(data) // 数组每个单元数据      console.log(index) // 数组下标      console.log(array) // 原数组本身  })

14. filter()

  • 概括:过滤数组(过滤出返回为true的数据)

  • 参数(入参函数参数)

    • 参数1:数组单元数据

    • 参数2:每个单元索引

    • 参数3:数组本身

  • 返回值:返回过滤后的新数组

  let arr = [1,2,3,4]  arr.filter((data,index,array) => {      console.log(data) // 数组每个单元数据      console.log(index) // 数组下标      console.log(array) // 原数组本身      return data == 1 // 过滤返回为true的数据  })

15. some()

  • 概括:检测数组(只要有一个数据符合条件时,返回true)

  • 参数(入参函数参数)

    • 参数1:数组单元数据

    • 参数2:每个单元索引

    • 参数3:数组本身

  • 返回值:返回检测后的新数组

  let arr = [1,2,3,4]  arr.some((data,index,array) => {      console.log(data) // 数组每个单元数据      console.log(index) // 数组下标      console.log(array) // 原数组本身      return data == 1 // 检测指定数据是否符合条件  })

16. eveny()

  • 概括:检测数组(只有数组中所有数据符合条件时,才返回true,否则反回false)

  • 参数(入参函数参数)

    • 参数1:数组单元数据

    • 参数2:每个单元索引

    • 参数3:数组本身

  • 返回值:返回检测后的新数组

  let arr = [1,2,3,4]  arr.eveny((data,index,array) => {      console.log(data) // 数组每个单元数据      console.log(index) // 数组下标      console.log(array) // 原数组本身      return data == 1 // 检测所有条件是否符合条件  })

17. reduce()

  • 概括:迭代数组所有项(累加器)

  • 参数:两个参数

    • 回调参数1:上一次回调返回值,或者初始值(必选)

    • 回调参数2:数组中被处理的数据项(必选)

    • 回调参数3:数据项在数组中的索引(可选)

    • 回调参数4:原数组(可选)

    • 参数1(入参函数参数):回调函数(必选)

    • 参数2:初始值(可选)

  • 返回值:返回数组计算后的结果

 let arr = [1,2,3,4] arr.reduce((pre,data,index,array) => {     console.log(pre) // 数组上一次计算结果,如果未计算则是初始值     console.log(data) // 数组中被处理的数据项     console.log(index) // 数据项在数组中的索引     console.log(array) // 原数组     return pre + data // 将每次累加结果进行累加下一项 }, 0) // 设置遍历初始值
  • 扩展用法

  • 计算数组中每个元素出现的次数

 let names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice']; let nameNum = names.reduce((pre,cur)=>{    if(cur in pre){       pre[cur]++    }else{       pre[cur] = 1     }    return pre },{}) console.log(nameNum); //{Alice: 2, Bob: 1, Tiff: 1, Bruce: 1}
  • 数组去重

 // 单数组去重 let arr = [1,2,3,4,4,1] let newArr = arr.reduce((pre,cur)=>{     if(!pre.includes(cur)){       return pre.concat(cur)     }else{       return pre     } },[]) console.log(newArr);// [1, 2, 3, 4] // 数组对象去重 let arr = [{a: 0, name: 'zhangsan'}, {b: 0, name: 'lisi'}] let Obj = {} person = person.reduce((cur,next) => {    obj[next.id] ? "" : obj[next.id] = true && cur.push(next);    return cur; },[])
  • 将二维数组转化为一维数组

 let arr = [[0, 1], [2, 3], [4, 5]] let newArr = arr.reduce((pre,cur)=>{     return pre.concat(cur) },[]) console.log(newArr); // [0, 1, 2, 3, 4, 5]
  • 将多维数组转化为一维数组

let arr = [[0, 1], [2, 3], [4,[5,6,7]]] const newArr = function(arr){    return arr.reduce((pre,cur)=>{        pre.concat(Array.isArray(cur) ? newArr(cur) : cur       }),[]) } console.log(newArr(arr)); // [0, 1, 2, 3, 4, 5, 6, 7]
  • 对象里面属性求和

 var result = [    {        subject: 'math',        score: 10    },    {        subject: 'chinese',        score: 20    },    {        subject: 'english',        score: 30    } ]; var sum = result.reduce(function(prev, cur) {     return cur.score + prev; }, 0); console.log(sum) //60

18. reduceRight()

  • 概括:迭代数组所有项(从右至左进行计算,同数组reduce方法)

  • 参数:同数组的reduce方法参数

  • 返回值:数组计算结果

 let arr = [1,2,3,4] arr.reduceRight((pre,data,index,array) => {     console.log(pre) // 数组上一次计算结果,如果未计算则是初始值     console.log(data) // 数组中被处理的数据项     console.log(index) // 数据项在数组中的索引     console.log(array) // 原数组     return pre + data // 将每次累加结果进行累加下一项 }, 0) // 设置遍历初始值

19. Array.from()

  • 概括:将伪数组转化成数组,只要含length属性的都可转化成数组(es6

  • 参数:需要转化的伪数组

  • 返回值:转化后的数组

 let str = 'asdf' console.log(Array.from(str)) // 将字符串转化成数组 [a,s,d,f] let obj = {0:'a',1:'b',length:2} console.log(Array.from(obj))   // 含索引并length属性的对象也可以转化成数组 ['a', 'b']

20. Array.of()

  • 概括:将一组值转化成数组,类似于生明数组(ES6)

  • 参数:需要转化的值

  • 返回值:转化后的数组

 console.log(Array.of('11')) // 将字符串转化成数组 ['11'] console.log(Array.of({a:1,b:2})) // 将对象转化成数组 [{a:1,b:2}] console.log(new Array('11')) // 类似于构造函数声明数组 console.log(new Array(2)) // 构造函数生明因为入参问题容易容易引起重载  [empty × 2] 空数组

21. copyWithin()

  • 概括:在数组内部将指定位置的数组赋值到其他位置,会覆盖原数组项,返回当前数组

  • 参数:三个参数

    • 参数1:开始位置,从该位置开始替换数组项(必传)

    • 参数2:从指定索引开始读取数组项,默认为0,如果为负值,则从右往左读(可选)

    • 参数3:从指定索引结束读取数组项,默认为数组长度,如果是负值表示倒数(可选)

  • 返回值:处理好的数组

 let arr = [1,2,3,4,5] arr.copyWithin(3) // 从下标3的位置上开始,默认将整个数组作为数据项进行替换,长度不够默认截取 [1, 2, 3, 1, 2] arr.copyWithin(0, 2) // 从下标为0位置开始,默认将从下标2位置截取到末尾作为数据项进行替换,长度不够默认截取  [3, 4, 5, 4, 5] arr.copyWithin(0, 2, 3) // 从下标0位置开始,默认将从下标2位置截取到下标3位置之前作为数据项进行替换,长度不够默认截取 [3, 2, 3, 4, 5] arr.copyWithin(-1) // 从倒数倒数第一位开始,默认将整个数组作为数据项进行替换,长度不够默认截取 [1, 2, 3, 4, 1] arr.copyWithin(-1, -2) // 从倒数第一位置开始,默认将从倒数第二位置默认截取到末尾作为数据项进项替换,长度不够默认截取 [1, 2, 3, 4, 4] arr.copyWithin(-1, -4, -2) // 从倒数第一位置开始,默认将从倒数第四的位置开始截取到倒数第二的位置作为数据项项进项替换,长度不够默认截取 [1, 2, 3, 4, 2]

22. find()

  • 概括:找到第一个符合条件的数组数据项

  • 参数(入参函数参数)

    • 参数1:数组数据项

    • 参数2:数据项下标

    • 参数3:原数组

  • 返回值:符合条件的数组数据项

 let arr = [1,2,3,4,5] arr.find((item, index, array) => {     console.log(item) // 数组数据项     console.log(index) // 数据项下标     console.log(array) // 原数组     return item > 1 // 此条件不会校验数组所有数据项,只会校验第一条符合条件的数据 })

23. findIndex()

  • 概括:找到第一个符合条件的数组数据项下标

  • 参数(入参函数参数):同数组find方法

  • 返回值:符合条件数据项下标

 let arr = [1,2,3,4,5] arr.findIndex((item, index, array) => {     console.log(item) // 数组数据项     console.log(index) // 数据项下标     console.log(array) // 原数组     return item > 1 // 此条件不会校验数组所有数据项,只会校验第一条符合条件的数据 })

24. fill()

  • 概括:使用指定值填充整个数组

  • 参数

    • 参数1:待填充的数据

    • 参数2:开始填充的位置

    • 参数3:结束填充的位置(该位置前一位)

  • 返回值:填充后的数组

 let arr = [1,2,3,4] arr.fill(1) // 默认将数组所有项填充成该数据 [1,1,1,1] arr.fill(1,2) // 以参数1为填充项,将数据从坐标为2位置开始填充至数组末尾 [1,2,1,1] arr.fill(1,2,4) // 以参数1为填充项,将是数据从坐标2位置开始填充至下标为4位置 [1,2,1,4]

25. keys()

  • 概括:遍历数组的键名(一般针对于Set、Map数据集合使用)

  • 参数:无

  • 返回值:在日志层面显示Array Iterator {}(数组迭代器),在数据层面显示数组下标

 let arr = [1,2,3,4] let arr2 = arr.keys() console.log(arr2) // Array Iterator {} for (let key of arr2) {    console.log(key);   // 0,1,2,3 }

26. value()

  • 概括:遍历数组键名(一般针对于Set、Map数据集合使用)

  • 参数:无

  • 返回值:在日志层面显示Array Iterator {}(数组迭代器),在数据层面显示数组每个数据项

 let arr = [1,2,3,4] let arr2 = arr.value() console.log(arr2) // Array Iterator {} for (let val of arr2) {    console.log(val);   // 1,2,3,4 }

27. entries()

  • 概括:遍历数组的键值和键名(迭代数组,一般针对于Set、Map数据集合使用)

  • 参数:无

  • 返回值:在日志层面显示Array Iterator {}(数组迭代器),在数据层面显示数组每个单元的数据项和下标作为一个数组

 let arr = [1,2,3,4] let arr1 = arr.entries() console.log(arr1) // Array Iterator {} for (let e of arr1) {     console.log(e);   // [0,1] [1,2] [2,3] [3,4] }

以上就是“JavaScript数组常见使用方法有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: JavaScript数组常见使用方法有哪些

本文链接: https://www.lsjlt.com/news/346877.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript数组常见使用方法有哪些
    今天小编给大家分享一下JavaScript数组常见使用方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1. push...
    99+
    2023-07-04
  • javascript中常见的数组方法有哪些
    小编给大家分享一下javascript中常见的数组方法有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!javascript数组方法有:concat()、join()、pop()、push()、revers&#...
    99+
    2023-06-14
  • JavaScript数组合并的常见方法有哪些
    这篇文章主要介绍了JavaScript数组合并的常见方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript数组合并的常见方法有哪些文章都会有所收获,下面我们一起来看看吧。1.ES6 解构[...
    99+
    2023-07-04
  • JavaScript数组有哪些常用方法
    这篇文章主要介绍了JavaScript数组有哪些常用方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、前言数组方法有太多了,本文记录一些本人容易记错的一些数组方法,用于巩...
    99+
    2023-06-25
  • 常用的JavaScript数组方法有哪些
    常用的JavaScript数组方法有:1. push():将一个或多个元素添加到数组的末尾,并返回新数组的长度。2. pop():删...
    99+
    2023-10-12
    JavaScript
  • JavaScript常用的数组方法有哪些
    这篇文章主要讲解了“JavaScript常用的数组方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript常用的数组方法有哪些”吧!不会...
    99+
    2022-10-19
  • JavaScript数组常用的方法有哪些
    这篇文章主要介绍“JavaScript数组常用的方法有哪些”,在日常操作中,相信很多人在JavaScript数组常用的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2022-10-19
  • JavaScript数组常见操作有哪些
    这篇文章主要为大家展示了“JavaScript数组常见操作有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript数组常见操作有哪些”这篇文章吧...
    99+
    2022-10-19
  • PHP合并数组的常见方法有哪些
    本篇内容主要讲解“PHP合并数组的常见方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP合并数组的常见方法有哪些”吧!array_merge()函数-覆盖前面相同键名的数组元素在PH...
    99+
    2023-06-25
  • JavaScript中数组Array的常用方法有哪些
    这篇文章主要为大家展示了“JavaScript中数组Array的常用方法有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript中数组Array的常用方法有哪些”这篇文章吧。一....
    99+
    2023-06-25
  • javascript中数组去重常用方法有哪些
    这篇文章将为大家详细讲解有关javascript中数组去重常用方法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:数组去除重复值是面试常考内容,也是很容易用...
    99+
    2022-10-19
  • JavaScript原生数组Array常用方法有哪些
    这篇文章给大家分享的是有关JavaScript原生数组Array常用方法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。栈方法push方法和pop方法, 可以使数组的行为类似...
    99+
    2022-10-19
  • 常用的javascript数组操作方法有哪些
    这篇文章主要介绍“常用的javascript数组操作方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“常用的javascript数组操作方法有哪些”文章能帮助...
    99+
    2022-10-19
  • JavaScript中String常见的方法有哪些
    这篇文章主要介绍JavaScript中String常见的方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、charAt从一个字符串中返回指定的字符语法str.charAt(index)参数index一个介于...
    99+
    2023-06-25
  • JavaScript数组常见操作技巧有哪些
    这篇文章主要介绍“JavaScript数组常见操作技巧有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript数组常见操作技巧有哪些”文章能帮助大家解决问题。一、创建数组创建数组是基...
    99+
    2023-06-29
  • thinkphp删除数组字段的常见方法有哪些
    本文小编为大家详细介绍“thinkphp删除数组字段的常见方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“thinkphp删除数组字段的常见方法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。使用u...
    99+
    2023-07-05
  • javascript数组的方法有哪些
    javascript数组的方法有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在日常开发中,我们会接触到js中数组的一些方法,这些方法对我们来说,可以很遍历...
    99+
    2023-06-28
  • JavaScript数组reduce常见实例方法
    目录前言一、 reduce定义和用法语法:二、reduce浏览器支持情况三、reduce累加带初始值不带初始值四、reduce数组去重五、reduce求数组项最大值六、reduce将...
    99+
    2022-11-13
  • JavaScript数据数组方法有哪些
    JavaScript数据数组方法有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。  好程序员web前端培训分享JavaScript数据...
    99+
    2022-10-19
  • java数组中常用方法有哪些
    1. arraycopy方法原型: public static void arraycopy(sourceArray,int index1,copyArray,index2,int length)即从sourceArray的index1位置...
    99+
    2019-02-11
    java 数组 常用方法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作