数组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汇总的更多相关文章

  1. javascript_core_10之继承与数组API

    1.现有两对象间的继承:Object.setPrototypeOf(child,father): 2.基于现有父对象创建子对象:var child=Object.create(father,{新属性} ...

  2. javascript_core_04之数组API

    1.数组API——splice: ①删除:var deletes=arr.splice(starti,n):删除starti位置开始的n个,返回删除元素组成的临时数组: ②插入:arr.splice( ...

  3. jQuery数组处理汇总

    jQuery数组处理汇总   有段时间没写什么了, 打算把jquery中的比较常用的数组处理方法汇总一下 $.each(array, [callback])遍历,很常用 1 2 3 4 5 6 7 8 ...

  4. PHP数组操作汇总

    php 操作数组 (合并,拆分,追加,查找,删除等) - Just Code - ITeye技术网站 PHP操作数组的一些函数介绍 -- 简明现代魔法 PHP数组元素操作实例 -- 简明现代魔法 儿童 ...

  5. 数组Array、数组API

    1.数组:批量管理多个数据的存储空间. 数组的作用:现实中,批量管理多个数据都是集中分组存放,良好的数据结构,可极大提高程序的执行效率! 优点:方便查找 2.创建数组:(4种方式) (1)var 变量 ...

  6. JavaScript中对数组和数组API的认识

    JavaScript中对数组和数组API的认识 一.数组概念: 数组是JavaScript中的一类特殊的对象,用一对中括号“[]”表示,用来在单个的变量中存储多个值.在数组中,每个值都有一个对应的不重 ...

  7. MoneyRunner API汇总

    MonkeyRunner API 汇总 MonkeyRunner工具主要有三个类: MonkeyRunner MonkeyDevice MonkeyImage 1.MonkeyRunner类: Mon ...

  8. JavaScript Array 数组方法汇总

    JavaScript Array 数组方法汇总 1. arr.push() 从后面添加元素,返回值为添加完后的数组的长度 var arr = [1,2,3,4,5] console.log(arr.p ...

  9. 数组Api .map()的使用

    之前并没有过多的使用过这个Api,在此记录下对其的理解,方便以后多多使用. 首先是对map的说明: var mappedArray = array.map(callback[, thisObject] ...

随机推荐

  1. OpenCV Error: Unspecified Error(The Function is not implemented)

    Ubuntu 或者 Debian 系统显示窗口的时候遇到了这个问题 error: (-2:Unspecified error) The function is not implemented. Reb ...

  2. 一篇博客带你轻松应对Springboot面试

    1. SpringBoot简介 SpringBoot是简化Spring应用开发的一个框架.他整合了Spring的技术栈,提供各种标准化的默认配置.使得我们可以快速开发Spring项目,免掉xml配置的 ...

  3. JDBC10 Blob二进制对象

    //将图片输入到数据库中 // String sql="insert into t_user2 (username,headImg) values (?,?)"; // ps=co ...

  4. python之unittest验证函数功能

    一.待验证脚本 首先,有如下三个脚本,分别对应三个函数 分别导入模块行,如下: from fuction1 import fu1 from fuction2 import fu2 from fucti ...

  5. LSTM的备胎,用卷积处理时间序列——TCN与因果卷积(理论+Python实践)

    什么是TCN TCN全称Temporal Convolutional Network,时序卷积网络,是在2018年提出的一个卷积模型,但是可以用来处理时间序列. 卷积如何处理时间序列 时间序列预测,最 ...

  6. 4.1Go if-else

    1. Go if-else Golang程序的流程控制决定程序如何执行,主要有三大流程控制,顺序控制.分支控制.循环控制. 条件语句需要定义一个或多个条件,并且对条件测试的true或false来决定是 ...

  7. 【1-n】区间覆盖 TOJ4168+BZOJ1192

    Xiao Ming is very interesting for array. He given a sorted positive integer array and an integer n. ...

  8. jdk编译java文件时出现:编码GBK的不可映射字符

    出现此问题的几种解决办法: 1.cmd下使用javac编译java文件 如: javac test.java 解决办法:编译时加上encoding选项 javac -encoding UTF-8 te ...

  9. Java 8 中如何优雅的处理集合

    Java 8 中如何优雅的处理集合(Stream API) 在Java中,集合和数组是我们经常会用到的数据结构,需要经常对他们做增.删.改.查.聚合.统计.过滤等操作.相比之下,关系型数据库中也同样有 ...

  10. Security8:权限模拟

    用户可以模拟其他用户或登陆的权限来执行查询,并且在查看用户和登录的权限时,结果会受到模拟上下文的影响.当执行EXECUTE AS命令时,原始用户的安全上下文会进行切换,除了ORIGINAL_LOGIN ...