数组方法大全(第一篇)

注意:第一次写博客有点小紧张,如有错误欢迎指出,如有雷同纯属巧合,本次总结参考书籍JavaScript权威指南,有兴趣的小伙伴可以去翻阅一下哦

join()方法

该方法是将数组内的所有元素转化为字符串并拼接在一起,最后返回生成的字符串。可以指定一个可选的字符串,来分隔数组得各个元素,默认使用 “,” 相隔

例:

var arr  = [1,2,3];
arr.join(); ==> 输出'1,2,3'
arr.join(" ") ==> 输出'1 2 3'
arr.join("") ==> 输出'123' //此时再次打印arr
console.log(arr); ==> 输出[1,2,3]

reverse()方法

该方法是将数组中的元素颠倒顺序,返回逆向数组

例:

var arr = [1,4,3];
arr.reverse(); ==> 输出[3,4,1] //此时再次打印arr
console.log(arr); ==> 输出[3,4,1]

sort()方法

该方法是将数组中的元素排序,返回排序后的结果,默认是按字母表顺序进行排序(如有必要将转化为字符串进行比较),如果数组中带有undefined元素,则它们会被排到数组尾部。可以传递一个函数,该函数决定了它的两个参数在排好序的数组中的先后顺序,如果函数的返回值小于0,则第一个参数就在前面,反之,第一个参数就在后面,假设两个值相等,则就返回0

例:

var arr = ['abc','cfg','1',undefined]
arr.sort(); ==> 输出["1", "abc", "cfg", undefined] var arr1 = [2,5,3,7,6];
//返回值小于0,从小到大进行排列
arr1.sort(function (a,b) {return a - b}); ==> 输出[2, 3, 5, 6, 7]
//返回值大于0,从大到小进行排列
arr1.sort(function (a,b) {return b - a}); ==>输出[7, 6, 5, 3, 2] //此时输出arr1
console.log(arr1); ==>输出[7, 6, 5, 3, 2]

concat方法

该方法会将原数组和传进来的参数拼接成一个新的数组并返回,不修改原数组,如果传进来的参数为数组,则会将数组里的每一项与原数组拼接

例:

var arr = [1,3];
arr.concat(5,4,[6,7,[8,9]],{s:'1'}); ==> 输出[1,3,5,4,6,7,[8,9],{s:'1'}] //此时输出arr
console.log(arr); ==>输出[1,3]

slice(start,end)方法

该方法返回指定数组的一个片段或者子数组,最多可以传递两个参数,当只传递一个参数时,表示从指定起始位置,一直到最后,返回包含起始位置的数组,如果传递两位,返回包含起始位置,但不包含结束位置的数组,如果传递负数,表示结束位置为倒数第几位,此方法不改变原数组

例:

var arr = [1,2,3,4];
arr.slice(0,2); ==> 输出[1,2]
arr.slice(1); ==> 输出[2,3,4]
arr.slice(-1,-3); ==> 输出[]
arr.slice(-3,-2); ==> 输出[2]
arr.slice(1,-1); ==> 输出[2,3] //此时输出arr
console.log(arr) ==> 输出[1,2,3,4]

splice()方法

该方法可以插入或者删除数组中的元素,里面可以传参数,第一个参数代表插入或删除的起始位置,第二个参数是指定删除元素的个数,不传就代表从起始点到数组末尾的元素都将被删除,紧跟其后的参数都是要插入数组中的元素,记住它的返回值是由删除的元素组成的数组,它会修改原数组

例:

var arr = [1,2,3,4];
var a = arr.splice(2); ==> 输出a的值为[3,4],此时arr的值为[1,2] //上下对应的是不同的方式运行的结果 var a = arr.splice(1,2); ==>输出a的值为[2,3],此时arr的值为[1,4] var a = arr.splice(1,2,5,6); ==>输出a的值为[2,3],此时arr的值为[1,5,6,4] var a = arr.splice(1,2,[5,6]); ==>输出a的值为[2,3],此时arr的值为[1,[5,6],4]
//该方法区别于concat,它会把指定插入的什么,就会插入什么,不会做出改变

push()方法,pop()方法

1. push方法在数组的尾部添加一个或者多个元素,返回的是数组的新的长度

例:

var arr = [1,2];
var a = arr.push([],{},3,[1,2],{s:'haha'}); ==>输出a的值为6 //原数组arr为[1,2,[],{},[1,2],{s:'haha'}]

2. pop方法是删除数组的最后一个元素,返回的是删除的值

例:

var arr = [1,2,3];
var a = arr.pop(); ==>输出a的值为3,原数组arr的值为[1,2] //pop里面传参数是没有用的,返回的都是数组最后一位

unshift()方法、shift()方法

1. unshift()方法,是在数组的最前面插入指定元素,返回新数组的长度

var arr = [1,2,3];
var a = arr.unshift(4,5,6); ==>输出a的值6,原数组arr为[4,5,6,1,2,3]

2. shift()方法,是删除数组第一位元素,返回删除的值

var arr = [1,2,3];
var a = arr.shift(); ==>输出a的值为1,原数组arr为[2,3] //shift方法里面传参没有什么用,返回的都是数组的第一位

toString()方法、toLocaleString()方法

1. toString()方法将其数组中的每个元素转化为字符串,必要时将调用元素的toString方法

注意:输出不包括方括号或其它任何形式的包裹数组值得分隔符

var arr = ['a',1,[2,3],[],{},{s:'hello'}];
var a = arr.toString();
//输出a的值为"a,1,2,3,,[object Object],[object Object]"

2. toLocaleString()方法,这里就不做过多介绍,详情点这里

总结:

  • 会修改原数组的值方法有 push(),pop(),unshift(),shift(),splice()

  • 会修改原数组的顺序的有reverse()(反转),sort()(排序)

JavaScript数组方法大全(第一篇)的更多相关文章

  1. JavaScript数组方法大全(推荐)

    原网址:http://www.jb51.net/article/87930.htm 数组在笔试中经常会出现的面试题,javascript中的数组与其他语言中的数组有些不同,为了方便之后数组的方法学习, ...

  2. 一站式超全JavaScript数组方法大全

    一站式JavaScript数组方法大全(建议收藏) 方法一览表 详细操作 本人总结了JavaScript中有关数组的几乎所有方法(包含ES6之后新增的),并逐一用代码进行演示使用,希望可以帮助大家! ...

  3. JavaScript数组方法大全(第二篇)

    数组方法大全(第二篇) 注意:如有错误欢迎指出,如有雷同纯属巧合,本博客参考书籍JavaScript权威指南,有兴趣的小伙伴可以去翻阅一下哦 forEach()方法 遍历数组,里面可以传递一个方法 v ...

  4. 【转】JavaScript数组方法大全

    数组在笔试题中出现的概率最高的类型之一,JavaScript中的数组与其他语言中的数组有些区别,为了方便以后查看数组的方法,现将对数组的操作方法进行汇总整理. 数组创建 JavaScript中创建数组 ...

  5. JavaScript数组方法大全

    1.两个数组拼接的方法: Array.concat(obj); var array = [1,2,3]; var array2 = [4,5,6]; var arrtotall = array.con ...

  6. JavaScript数组方法--every、some、fill

    接上一篇,JavaScript数组方法--concat.push,继续其他的数组方法. every:every() 方法测试数组的所有元素是否都通过了指定函数的测试. 先看其使用方法: functio ...

  7. 【译】你应该了解的JavaScript数组方法

    让我们来做一个大胆的声明:for循环通常是无用的,而且还导致代码难以理解.当涉及迭代数组.查找元素.或对其排序或者你想到的任何东西,都可能有一个你可以使用的数组方法. 然而,尽管这些方法很有用,但是其 ...

  8. 转载收藏(js数组方法大全)

    js数组方法大全 JavaScript中创建数组有两种方式 (一)使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组var arr2 = new Arra ...

  9. JavaScript数组方法详解

    JavaScript数组方法详解 JavaScript中数组的方法种类众多,在ES3-ES7不同版本时期都有新方法:并且数组的方法还有原型方法和从object继承的方法,这里我们只介绍数组在每个版本中 ...

随机推荐

  1. 吐槽下Excel的十大不规范使用问题

    Excel是个老少咸宜的软件工具,这是不争的事实,无论哪个级别的用户,都能在乐在其中.但问题是太多的人群因为不懂得正确的使用姿势,硬生生地把Excel玩得让人啼笑皆非,同样留给接手者一个难堪无比的烂摊 ...

  2. .NET 欢乐编程术之类型超级转换之术👍👍

    准备工作:先确保 VS 版本大于 2017,且支持C# 7.0 语言版本.然后新建 .Net Core 项目,在 Nuget 包管理上引入微软霸霸官方包 System.Runtime.Compiler ...

  3. JDK(Linux)

    百度云:链接:http://pan.baidu.com/s/1gfa9sEB    密码:bpqr 官网下载网址:http://www.oracle.com/technetwork/java/java ...

  4. c#六大设计原则(以仪器代码为例)

    [有格式的原文请到https://www.cnc6.cn/c六大设计原则/文末下载] 软件设计原则常见的有6大原则,分别为: ①单一职责原则: ②开闭原则: ③依赖倒置原则: ④里氏替换原则: ⑤接口 ...

  5. IIS短文件名漏洞复现

    IIS短文件名漏洞复现 一.漏洞描述 此漏洞实际是由HTTP请求中旧DOS 8.3名称约定(SFN)的代字符(~)波浪号引起的.它允许远程攻击者在Web根目录下公开文件和文件夹名称(不应该可被访问). ...

  6. Apache SSI 远程命令执行漏洞复现

    Apache SSI 远程命令执行漏洞复现 一.漏洞描述 当目标服务器开启了SSI与CGI支持,我们就可以上传shtml,利用<!--#exec cmd=”id” -->语法执行命令. 使 ...

  7. 配置没有问题,虚拟机Ubuntu系统ifconfig没有网卡信息

    如果没有问题,前几天都好好的,突然出现这个问题 sudo ifconfig etho up 其中eth0是我的网卡名称

  8. 阿里技术面全A,终面却被产品经理拉下马。。。

    大纲: 一.投递简历 二.准备面试 三.技术一面 四.健身房里的技术二面 五.产品经理的死亡三面 六.总结 一.投递简历 找内推.大公司投简历尽量找内推,无论是校招还是社招.校招可以去牛客网或知乎找, ...

  9. 【Python-django后端开发】logging日制配置详解!!!

    官方文档请查看:https://docs.djangoproject.com/en/1.11/topics/logging/ 1. 配置工程日志,在setting.py里,如下 LOGGING = { ...

  10. .net持续集成测试篇之Nunit that断言

    系列目录 that是Nunit的新语法,语义上不如简单断言,使用上也更加复杂,但是其功能更加强大. 其基本语法如下代码片段示: [Test] public void DemoTest() { bool ...