JavaScript数组方法大全(第一篇)
数组方法大全(第一篇)
注意:第一次写博客有点小紧张,如有错误欢迎指出,如有雷同纯属巧合,本次总结参考书籍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];
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]
例:
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 = [1,2];
var a = arr.push([],{},3,[1,2],{s:'haha'}); ==>输出a的值为6
//原数组arr为[1,2,[],{},[1,2],{s:'haha'}]
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 = [1,2,3];
var a = arr.unshift(4,5,6); ==>输出a的值6,原数组arr为[4,5,6,1,2,3]
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数组方法大全(第一篇)的更多相关文章
- JavaScript数组方法大全(推荐)
原网址:http://www.jb51.net/article/87930.htm 数组在笔试中经常会出现的面试题,javascript中的数组与其他语言中的数组有些不同,为了方便之后数组的方法学习, ...
- 一站式超全JavaScript数组方法大全
一站式JavaScript数组方法大全(建议收藏) 方法一览表 详细操作 本人总结了JavaScript中有关数组的几乎所有方法(包含ES6之后新增的),并逐一用代码进行演示使用,希望可以帮助大家! ...
- JavaScript数组方法大全(第二篇)
数组方法大全(第二篇) 注意:如有错误欢迎指出,如有雷同纯属巧合,本博客参考书籍JavaScript权威指南,有兴趣的小伙伴可以去翻阅一下哦 forEach()方法 遍历数组,里面可以传递一个方法 v ...
- 【转】JavaScript数组方法大全
数组在笔试题中出现的概率最高的类型之一,JavaScript中的数组与其他语言中的数组有些区别,为了方便以后查看数组的方法,现将对数组的操作方法进行汇总整理. 数组创建 JavaScript中创建数组 ...
- JavaScript数组方法大全
1.两个数组拼接的方法: Array.concat(obj); var array = [1,2,3]; var array2 = [4,5,6]; var arrtotall = array.con ...
- JavaScript数组方法--every、some、fill
接上一篇,JavaScript数组方法--concat.push,继续其他的数组方法. every:every() 方法测试数组的所有元素是否都通过了指定函数的测试. 先看其使用方法: functio ...
- 【译】你应该了解的JavaScript数组方法
让我们来做一个大胆的声明:for循环通常是无用的,而且还导致代码难以理解.当涉及迭代数组.查找元素.或对其排序或者你想到的任何东西,都可能有一个你可以使用的数组方法. 然而,尽管这些方法很有用,但是其 ...
- 转载收藏(js数组方法大全)
js数组方法大全 JavaScript中创建数组有两种方式 (一)使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组var arr2 = new Arra ...
- JavaScript数组方法详解
JavaScript数组方法详解 JavaScript中数组的方法种类众多,在ES3-ES7不同版本时期都有新方法:并且数组的方法还有原型方法和从object继承的方法,这里我们只介绍数组在每个版本中 ...
随机推荐
- [USACO07FEB]银牛派对Silver Cow Party
题目简叙: 寒假到了,N头牛都要去参加一场在编号为X(1≤X≤N)的牛的农场举行的派对(1≤N≤1000),农场之间有M(1≤M≤100000)条有向路,每条路长Ti(1≤Ti≤100). 每头牛参加 ...
- 个人永久性免费-Excel催化剂功能第60波-数据有效性验证增强版,补足Excel天生不足
Excel在数据处理.数据分析上已经是公认的最好用的软件之一,其易用性和强大性也吸引无数的初中高级用户每天都在使用Excel.但这些优点的同时,也带出了一些问题,正因为其不同于一般的专业软件,需要专业 ...
- spring全局异常抓取validation校验信息
@ControllerAdvicepublic class GlobalExceptionHandler { @ExceptionHandler({Exception.class}) @Respons ...
- NetworkStream.Read
Reads data from the NetworkStream. 参数 buffer 类型:System.Byte[]类型 Byte 的数组,它是内存中用于存储从 NetworkStream 读取 ...
- 《VR入门系列教程》之1---预热篇
序 初识虚拟现实技术,非常倾心,奋力习之,阅<Learning Virtual Reality>一书之后觉得甚好,但不愿独乐乐,于是翻译之,与大家共同学习.本人学艺不精,难免有翻 ...
- lr录制选项设置代理
解决录制时浏览器打不开录制时录不到脚本等浏览器兼容问题一.lr录制选项设置代理1.点击Options 2.点击Port Mapping→Newentrv 3.lr代理设置 ·Socket Servic ...
- java并发笔记之java线程模型
警告⚠️:本文耗时很长,先做好心理准备 java当中的线程和操作系统的线程是什么关系? 猜想: java thread —-对应-—> OS thread Linux关于操作系统的线程控制源码: ...
- 负载分配—DNS的域名解析
DNS(Domain Name System)是因特网的一项服务,它作为域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网.人们在通过浏览器访问网站时只需要记住网站的域名即可,而不需 ...
- TestNG在Eclipse中运行的几种方法
目录 1 在Eclipse Outline视图中,点右键run as TestNG Test (不推荐) 2 在Eclipse类编辑界面,直接点击右键run as TestNG Test 3 通过Te ...
- .NET Core on K8S学习实践系列文章索引(Draft版)
一.关于这个系列 自从去年(2018年)底离开工作了3年的M公司加入X公司之后,开始了ASP.NET Core的实践,包括微服务架构与容器化等等.我们的实践是渐进的,当我们的微服务数量到了一定值时,发 ...
var arr = ['a',1,[2,3],[],{},{s:'hello'}];
var a = arr.toString();
//输出a的值为"a,1,2,3,,[object Object],[object Object]"
会修改原数组的值方法有 push(),pop(),unshift(),shift(),splice()
会修改原数组的顺序的有reverse()(反转),sort()(排序)
原网址:http://www.jb51.net/article/87930.htm 数组在笔试中经常会出现的面试题,javascript中的数组与其他语言中的数组有些不同,为了方便之后数组的方法学习, ...
一站式JavaScript数组方法大全(建议收藏) 方法一览表 详细操作 本人总结了JavaScript中有关数组的几乎所有方法(包含ES6之后新增的),并逐一用代码进行演示使用,希望可以帮助大家! ...
数组方法大全(第二篇) 注意:如有错误欢迎指出,如有雷同纯属巧合,本博客参考书籍JavaScript权威指南,有兴趣的小伙伴可以去翻阅一下哦 forEach()方法 遍历数组,里面可以传递一个方法 v ...
数组在笔试题中出现的概率最高的类型之一,JavaScript中的数组与其他语言中的数组有些区别,为了方便以后查看数组的方法,现将对数组的操作方法进行汇总整理. 数组创建 JavaScript中创建数组 ...
1.两个数组拼接的方法: Array.concat(obj); var array = [1,2,3]; var array2 = [4,5,6]; var arrtotall = array.con ...
接上一篇,JavaScript数组方法--concat.push,继续其他的数组方法. every:every() 方法测试数组的所有元素是否都通过了指定函数的测试. 先看其使用方法: functio ...
让我们来做一个大胆的声明:for循环通常是无用的,而且还导致代码难以理解.当涉及迭代数组.查找元素.或对其排序或者你想到的任何东西,都可能有一个你可以使用的数组方法. 然而,尽管这些方法很有用,但是其 ...
js数组方法大全 JavaScript中创建数组有两种方式 (一)使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组var arr2 = new Arra ...
JavaScript数组方法详解 JavaScript中数组的方法种类众多,在ES3-ES7不同版本时期都有新方法:并且数组的方法还有原型方法和从object继承的方法,这里我们只介绍数组在每个版本中 ...
题目简叙: 寒假到了,N头牛都要去参加一场在编号为X(1≤X≤N)的牛的农场举行的派对(1≤N≤1000),农场之间有M(1≤M≤100000)条有向路,每条路长Ti(1≤Ti≤100). 每头牛参加 ...
Excel在数据处理.数据分析上已经是公认的最好用的软件之一,其易用性和强大性也吸引无数的初中高级用户每天都在使用Excel.但这些优点的同时,也带出了一些问题,正因为其不同于一般的专业软件,需要专业 ...
@ControllerAdvicepublic class GlobalExceptionHandler { @ExceptionHandler({Exception.class}) @Respons ...
Reads data from the NetworkStream. 参数 buffer 类型:System.Byte[]类型 Byte 的数组,它是内存中用于存储从 NetworkStream 读取 ...
序 初识虚拟现实技术,非常倾心,奋力习之,阅<Learning Virtual Reality>一书之后觉得甚好,但不愿独乐乐,于是翻译之,与大家共同学习.本人学艺不精,难免有翻 ...
解决录制时浏览器打不开录制时录不到脚本等浏览器兼容问题一.lr录制选项设置代理1.点击Options 2.点击Port Mapping→Newentrv 3.lr代理设置 ·Socket Servic ...
警告⚠️:本文耗时很长,先做好心理准备 java当中的线程和操作系统的线程是什么关系? 猜想: java thread —-对应-—> OS thread Linux关于操作系统的线程控制源码: ...
DNS(Domain Name System)是因特网的一项服务,它作为域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网.人们在通过浏览器访问网站时只需要记住网站的域名即可,而不需 ...
目录 1 在Eclipse Outline视图中,点右键run as TestNG Test (不推荐) 2 在Eclipse类编辑界面,直接点击右键run as TestNG Test 3 通过Te ...
一.关于这个系列 自从去年(2018年)底离开工作了3年的M公司加入X公司之后,开始了ASP.NET Core的实践,包括微服务架构与容器化等等.我们的实践是渐进的,当我们的微服务数量到了一定值时,发 ...