博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数组有哪些常用方法
阅读量:4130 次
发布时间:2019-05-25

本文共 2283 字,大约阅读时间需要 7 分钟。

答案:

  • push 末尾添加

  • pop 末尾删除

  • shift 首部删除

  • unshift 首部添加

  • concat 数组合并

  • join 数组元素 通过连接符 连接

  • reverse 数组反转

  • sort 数组排序

  • map/forEach/filter/indexOf/includes/slice/splice

 

详细解析:

1. Array.push(),向数组的末尾添加一个或多个元素,并返回新的数组长度。原数组改变。

2. Array.pop(),删除并返回数组的最后一个元素,若该数组为空,则返回undefined。原数组改变。

3. Array.unshift(),向数组的开头添加一个或多个元素,并返回新的数组长度。原数组改变。

4. Array.shift(),删除数组的第一项,并返回第一个元素的值。若该数组为空,则返回undefined。原数组改变。

 

5.(纯)Array.concat(arr1,arr2...),合并两个或多个数组,生成一个新的数组。原数组不变。

6.(纯)Array.map(function),原数组的每一项执行函数后,返回一个新的数组。原数组不变。(注意该方法和forEach的区别)。

7.(纯)Array.filter(function),过滤数组中,符合条件的元素并返回一个新的数组。

 

8.(纯)Array.slice(start,end),从start开始,end之前结束,不到end;如果不给end值,从start开始到数组结束。start可以给负值,-1表示数组最后位置,-2表示倒数第二个,以此类推,顾前不顾后。

  

9.Array.splice(index,howmany,arr1,arr2...) ,删除元素并添加元素,从index位置开始删除howmany个元素,并将arr1、arr2...数据从index位置依次插入。howmany为0时,则不删除元素。原数组改变。

对数组进行增删改

增加:ary.splice(n,0,m)从索引n开始删除0项,把m或者更多的内容插入到索引n的前面

返回空数组

修改:ary.splice(n,x,m)从索引n开始删除x个,m替换删除的部分

把原有内容删除掉,然后用新内容替换掉

删除:ary.splice(n,m) 从索引n开始删除m个内容

(如果第二个参数省略,则从n删除到末尾)

返回删除的新数组,原有数组改变

//增加let ary6_z = [33,44,55,66,77,88];ary6_z.splice(2,0,'a','b')console.log(ary6_z); //[33, 44, "a", "b", 55, 66, 77, 88]//修改let ary6_x = [33,44,55,66,77,88];ary6_x.splice(1,2,'x','y');console.log(ary6_x); //[33, "x", "y", 66, 77, 88]//删除let ary6_s = [33,44,55,66,77,88];console.log(ary6.splice(3,2)); //[66, 77]console.log(ary6_s.splice(3)); //[66, 77, 88]

10. Array.join(),将数组的每一项用指定字符连接形成一个字符串。默认连接字符为 “,” 逗号。

11. Array.reverse(),将数组倒序。原数组改变。

12. Array.sort(),对数组元素进行排序。按照字符串UniCode码排序,原数组改变。

  ①从小到大

  

  ②从大到小

   

  ③按照数组对象中的某个值进行排序

  

   

13.Array.forEach(function),针对每一个元素执行提供的函数,对数据的操作会改变原数组。(注意该方法和map的区别,若直接打印Array.forEach,结果为undefined)。

let arr = ['a','b','c','d']; let item = arr.forEach(function(item,index,arr){    console.log(item,index,arr);});

14.Array.every(function),对数组中的每一项进行判断,若都符合则返回true,否则返回false。

15.Array.some(function),对数组中的每一项进行判断,若都不符合则返回false,否则返回true。

16.Array.indexOf(function),检测当前值在数组中第一次出现的位置索引,未找到返回-1。

let ary9 = ['a','b','c','d','e','a','f'];   console.log(ary9.indexOf('c')); //2console.log(ary9.indexOf('a',3)); //5

17.Array.includes(),判断一个数组是否包含一个指定的值

let ary13 = ['a','b','c','d']; console.log(ary13.includes('c')); //trueconsole.log(ary13.includes(2)); //false

18.Array.reduce(function),reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

 

 

转载地址:http://pjuvi.baihongyu.com/

你可能感兴趣的文章
这才是学习Vite2的正确姿势!
查看>>
7 个适用于所有前端开发人员的很棒API,你需要了解一下
查看>>
25个构建Web项目的HTML建议,你需要了解一下!
查看>>
【web素材】02-10款大气的购物商城网站模板
查看>>
6种方式实现JavaScript数组扁平化(flat)方法的总结
查看>>
如何实现a===1 && a===2 && a===3返回true?
查看>>
49个在工作中常用且容易遗忘的CSS样式清单整理
查看>>
20种在学习编程的同时也可以在线赚钱的方法
查看>>
隐藏搜索框:CSS 动画正反向序列
查看>>
12 个JavaScript 特性技巧你可能从未使用过
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(上)
查看>>
【视频教程】Javascript ES6 教程27—ES6 构建一个Promise
查看>>
【5分钟代码练习】01—导航栏鼠标悬停效果的实现
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(中)
查看>>
8种ES6中扩展运算符的用法
查看>>
【视频教程】Javascript ES6 教程28—ES6 Promise 实例应用
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(下)
查看>>
【web素材】03-24款后台管理系统网站模板
查看>>
Flex 布局教程:语法篇
查看>>
年薪50万+的90后程序员都经历了什么?
查看>>