数组API汇总
数组API汇总
Javascript数组API:
1、将数组转化为字符串:2种:
1、var str=String(str);
将数组转化为字符串并分隔每个元素;
var arr=[1,2,3];
String(arr)
"1,2,3"
arr//[1, 2, 3]
注:不改变原数组
2,、var str=arr.join("自定义分隔符");
将数组转化为字符串,可定义分隔符
强调:如果join省略"",就等效于String
注:不改变原数组
var arr=[1,2,3];
arr.join('')//"123" var arr=[1,2,3];
arr.join(' ')//"1 2 3" var arr=[1,2,3];
arr.join(',')//"1,2,3"
arr//[1, 2, 3]
2、链接和获取子数组:
1、连接: var newArr=arr1.concat(值1,值2,arr2,...);
将concat后的内容,和arr1拼接,组成新数组返回
强调:concat的参数中包含数组,则打散数组,以单个元素拼接
var arr1=[1,2,3],arr2=[4,5,6]
arr1.concat(1,2)//[1, 2, 3, 1, 2] var arr1=[1,2,3],arr2=[4,5,6]
arr1.concat(arr2)//[1, 2, 3, 4, 5, 6]
2、获取子数组:var subArr=arr.slice(starti,endi+1);
获得arr中starti位置开始,到endi位置的所有元素组成的新数组
强调:含头不含尾
省略第二个参数:表示从starti一直取到结尾
可支持负数参数:-n表示倒数第n个元素,相当于length-n
var arr=[1,2,3,4] arr.slice(0)//[1, 2, 3, 4] arr.slice(0,2)//[1, 2] arr.slice(-3)//[2, 3, 4] arr.slice(-3,-1)//[2, 3] arr.slice(0,2)//[1, 2] arr//[1, 2, 3, 4]
注:不改变原数组
3、删除,插入,替换:(直接修改原数组)
1、删除:var deletes=arr.splice(starti,n);
删除arr中starti位置开始的n个元素
返回被删除的元素组成的临时新数组
var arr=[1,2,3,4]
arr.splice(0)//[1, 2, 3, 4] var arr=[1,2,3,4]
arr.splice(-1)//[4] var arr=[1,2,3,4]
arr.splice(0,3)//[1, 2, 3]
arr//[4]
注:1.支持负数
2.直接修改原数组
2、插入:arr.splice(starti,0,值1,值2,...);
在arr中starti位置,插入新值。旧值被向后顺移
强调:
1.要插入的值,只能以单独的参数传入,不支持打散数组参数
2.starti表示第i个 不是数组索引
var arr=[1,2,3,4]
arr.splice(2,0,22,33)
arr//[1, 2, 22, 33, 3, 4]
3、替换:var deletes=arr.splice(starti,n,值1,值2,...);
删除arr中starti位置开始的n个元素,再在starti位置插入新元素
删除的元素个数和插入的新元素个数不必相等
var arr=[1,2,3,4]
arr.splice(2,2,5,6)
arr//[1, 2, 5, 6]
4、反转数组元素:arr.reverse();
arr=[1,2,3,4]
arr.reverse()//[4, 3, 2, 1]
arr//[4, 3, 2, 1]
注:直接修改原数组
5、升序排列:arr.sort(); (直接修改原数组)
arr=[1,5,3,2] //默认升序排列
arr.sort()//[1, 2, 3, 5] arr=[1,5,32,2]
arr.sort((a,b)=> a-b)//[1, 2, 32, 5]
arr//升序,从小到大排列 [1,2,5,32]
arr=[1,5,32,2]
arr.sort((a,b) => b-a)//[1, 2, 32, 5]
arr//降序,从大到小排列[32,5,2,1]
注:1.将arr中的元素,以字符串方式升序,如上
2.sort()支持自定义排序方法sort(function(a,b){return a-b // 升序 })
sort(function(a,b){return b-a / /降序 })
6、结尾出入栈:
1、入栈:arr.push(值)
将值压入数组结尾
var arr=[1,2,3,4]
arr2=arr.push(1)//5
//返回新数组的长度
arr//[1, 2, 3, 4, 1]
2、出栈:var last=arr.pop();
弹出数组最后一个元素
var arr=[1,2,3,4]
arr.pop()//4
//返回弹出的元素
arr//[1,2,3]
注:直接修改原数组
7、开头出入栈:
1、入栈:arr.unshift(值);
将值插入数组开头
2、出栈:var first=arr.shift();
取出数组第一个元素
var arr=[1,2,3,4]
arr.unshift(22)//5
arr//[22, 1, 2, 3, 4]
var arr=[1,2,3,4]
arr.shift()//1
arr//[2, 3, 4]
注:直接修改原数组
总结:
直接修改原数组:
1.arr.splice();
2.arr.reverse();
3.arr.sort();
4.arr.push(值);arr.pop();
5.arr.unshift(值);arr.shift();
不修改原数组:
1.String(arr);
2.arr.join("自定义分隔符");
3.arr1.concat(值1,值2,arr2,...);
4.arr.slice(starti,endi+1);
数组API汇总的更多相关文章
- javascript_core_10之继承与数组API
1.现有两对象间的继承:Object.setPrototypeOf(child,father): 2.基于现有父对象创建子对象:var child=Object.create(father,{新属性} ...
- javascript_core_04之数组API
1.数组API——splice: ①删除:var deletes=arr.splice(starti,n):删除starti位置开始的n个,返回删除元素组成的临时数组: ②插入:arr.splice( ...
- jQuery数组处理汇总
jQuery数组处理汇总 有段时间没写什么了, 打算把jquery中的比较常用的数组处理方法汇总一下 $.each(array, [callback])遍历,很常用 1 2 3 4 5 6 7 8 ...
- PHP数组操作汇总
php 操作数组 (合并,拆分,追加,查找,删除等) - Just Code - ITeye技术网站 PHP操作数组的一些函数介绍 -- 简明现代魔法 PHP数组元素操作实例 -- 简明现代魔法 儿童 ...
- 数组Array、数组API
1.数组:批量管理多个数据的存储空间. 数组的作用:现实中,批量管理多个数据都是集中分组存放,良好的数据结构,可极大提高程序的执行效率! 优点:方便查找 2.创建数组:(4种方式) (1)var 变量 ...
- JavaScript中对数组和数组API的认识
JavaScript中对数组和数组API的认识 一.数组概念: 数组是JavaScript中的一类特殊的对象,用一对中括号“[]”表示,用来在单个的变量中存储多个值.在数组中,每个值都有一个对应的不重 ...
- MoneyRunner API汇总
MonkeyRunner API 汇总 MonkeyRunner工具主要有三个类: MonkeyRunner MonkeyDevice MonkeyImage 1.MonkeyRunner类: Mon ...
- JavaScript Array 数组方法汇总
JavaScript Array 数组方法汇总 1. arr.push() 从后面添加元素,返回值为添加完后的数组的长度 var arr = [1,2,3,4,5] console.log(arr.p ...
- 数组Api .map()的使用
之前并没有过多的使用过这个Api,在此记录下对其的理解,方便以后多多使用. 首先是对map的说明: var mappedArray = array.map(callback[, thisObject] ...
随机推荐
- 给大家发个Python和Django的福利吧,不要钱的那种~~~
前言一: 这篇是一个发放福利的文章,但是发放之前,我还是想跟大家聊聊我为什么要发这样的福利. 我第一份工作是做的IT桌面支持,日常工作就是给同事修修电脑.装装软件.开通账号.维护内部系统之类的基础工作 ...
- 微信小程序使用GoEasy实现websocket实时通讯
不需要下载安装,便可以在微信好友.微信群之间快速的转发,用户只需要扫码或者在微信里点击,就可以立即运行,有着近似APP的用户体验,使得微信小程序成为全民热爱的好东西~ 同时因为微信小程序使用的是Jav ...
- C# 数据操作系列 - 2. ADO.NET操作
0.前言 在上一篇中初略的介绍了一下SQL的基本写法,这一篇开始我们正式步入C#操作数据库的范围.通过这一系列的内容,我想大家能对于数据库交互有了一定的认识和基础.闲话不多说,先给大家介绍一个C#操作 ...
- jvm启动参数调优
1.背景 eclipse启动了一个项目,用了15分钟,我佛了,在家办公也懒得弄一直没管,好嘛,越用越气,越来越慢,现在启动一次要半小时了,气不气,然后下定决心调优一下. 2.知识库(自认为调优重要的几 ...
- API 网关 Kong
什么是 API 网关? 所谓网关,主要作用就是连接两个不同网络的设备,而今天所讲的 API 网关是指承接和分发客户端所有请求的网关层. 为什么需要网关层?最初是单体服务时,客户端发起的所有请求都可以直 ...
- docker 使用 Nvidia 显卡
docker19.03读取NVIDIA显卡 作者: 张首富 时间: 2019-09-06 w x: y18163201 前言 2019年7月的docker 19.03已经正式发布了,这次发布对我来说有 ...
- 「雕爷学编程」Arduino动手做(37)——MQ-3酒精传感器
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...
- 搞懂:MVVM模型以及VUE中的数据绑定数据劫持发布订阅模式
搞懂:MVVM模式和Vue中的MVVM模式 MVVM MVVM : model - view - viewmodel的缩写,说都能直接说出来 model:模型,view:视图,view-Model:视 ...
- React使用hook
Hook 是 React 16.8 的新增特性.它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性. 为什么会有hook 在组件之间复用状态逻辑很难,需要重新组织你 ...
- Angular路由知识点
路由跳转 1. 模板方式:<ANY routerLink='/ucenter'></ANY> 2. 脚本方式: constructor(private router:Rou ...