博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数组的对象方法
阅读量:5978 次
发布时间:2019-06-20

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

改变原数组

  • push()

在数组的最后一位添加数据,可添加任意个数据,返回修改后数组的长度

  • pop()

数组末尾移除最后一项,减少length的值,并返回移除的项

  • shift()

删除数组的第一项,并返回删除元素的值,数组为空则返回undefined

  • unshift()

在数组开头添加数据,并返回数组的长度

  • sort()

按升序排列数组项,排序时会调用每个数组的toString方法比较,因此有时候会不准确,

sort()方法可以接受一个比较函数作为参数。以便我们来指定哪个数在前哪个在后

比较函数要接受两个参数,如果返回一个负数则第一个参数位于第二个参数之前,如果返回0则相等

如果返回正数则第一个参数位于第二个数之后

var arr = [1,9,6,7,10,2,100];arr.sort(function(a,b) {    return a-b;}); // [1,2,6,7,9,10,100]复制代码
  • reverse()

反转数组项的顺序

var arr = [13, 24, 51, 3];console.log(arr.reverse()); //[3, 51, 24, 13]console.log(arr); //[3, 51, 24, 13](原数组改变)复制代码
  • splice()

可以实现删除,插入和替换

splice(从第几位开始,截取多少长度,在切口处添加新数据 )

var arr = [1,3,5,7,9,11];var arrRemoved = arr.splice(0,2);console.log(arr); //[5, 7, 9, 11]console.log(arrRemoved); //[1, 3]var arrRemoved2 = arr.splice(2,0,4,6);console.log(arr); // [5, 7, 4, 6, 9, 11]console.log(arrRemoved2); // []var arrRemoved3 = arr.splice(1,1,2,4);console.log(arr); // [5, 2, 4, 4, 6, 9, 11]console.log(arrRemoved3); //[7]复制代码

不改变原数组

  • concat()

将参数添加到原数组中。这个方法会先创建当前数组一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组。在没有给 concat()方法传递参数的情况下,它只是复制当前数组并返回副本。

var arr = [1,3,5,7];var arrCopy = arr.concat(9,[11,13]);console.log(arrCopy); //[1, 3, 5, 7, 9, 11, 13]console.log(arr); // [1, 3, 5, 7](原数组未被修改)复制代码
  • slice()

返回从原数组中指定开始下标到结束下标之间的项组成的新数组。slice()方法可以接受一或两个参数,即要返回项的起始和结束位置。在只有一个参数的情况下, slice()方法返回从该参数指定位置开始到当前数组末尾的所有项。如果有两个参数,该方法返回起始和结束位置之间的项——但不包括结束位置的项。

var arr = [1,3,5,7,9,11];var arrCopy = arr.slice(1);var arrCopy2 = arr.slice(1,4);var arrCopy3 = arr.slice(1,-2);var arrCopy4 = arr.slice(-4,-1);console.log(arr); //[1, 3, 5, 7, 9, 11](原数组没变)console.log(arrCopy); //[3, 5, 7, 9, 11]console.log(arrCopy2); //[3, 5, 7]console.log(arrCopy3); //[3, 5, 7]console.log(arrCopy4); //[5, 7, 9]复制代码
  • join()

将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符,该方法只接收一个参数:即分隔符。

var arr = [1,2,3];console.log(arr.join()); // 1,2,3console.log(arr.join("-")); // 1-2-3console.log(arr); // [1, 2, 3](原数组不变)复制代码
  • split()

与join()正好相反,把一个字符串分割成字符串数组,如果把空字符串("")用作separator,那么它会把里面每个字符串都分割

var str="How are you doing today?";var n=str.split(" "); //How,are,you,doing,today? 复制代码

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

你可能感兴趣的文章
树与森林的存储、遍历和树与森林的转换
查看>>
mongodb的读写分离
查看>>
Android自定义属性
查看>>
介绍几个好用的android自定义控件
查看>>
阿里云服务器 Windows连接不成功 提示“你的凭证不工作” 解决方法
查看>>
NVIDIA Jetson TK1学习与开发(八):图文详解OpenGL在Jetson TK1上的安装和使用
查看>>
【性能优化】直方图
查看>>
Visual C#之核心语言
查看>>
[J2ME]Nokia播放音乐时发生MediaException的解决办法
查看>>
【转】CSS 与 HTML5 响应式图片
查看>>
代码重构(五):继承关系重构规则
查看>>
Windows App开发之集合控件与数据绑定
查看>>
五分钟创建一个自己的NPM包
查看>>
Flutter开发环境安装
查看>>
QQ登录的那些坑(如何开发qq登陆功能)
查看>>
中大型网站技术架构演变过程
查看>>
深入剖析OkHttp系列(五) 来自官方的事件机制
查看>>
【前端词典】进阶必备的网络基础(下)
查看>>
ARTS训练第三周
查看>>
12月21日云栖精选夜读:阿里云总裁胡晓明:AI泡沫过后,下一站是“产业AI”...
查看>>