数组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. Unity 游戏框架搭建 2019 (四十六) 简易消息机制 & 集成到 MonoBehaviourSimplify 里

    在上一篇,我们接触了单例,使用单例解决了我们脚本之间访问的问题. 脚本之间访问其实有更好的方式. 我们先分下脚本访问脚本的几种形式. 第一种,A GameObject 是 B GameObject 的 ...

  2. linux下在用python向文件写入数据时'\n'不起作用

    网上翻看一圈,大家都说利用write写数据换行,在linux下用'\n',windows下利用'\r\n',可是尝试了一下,'\n'在windows底下可换行,在linux底下居然不起作用,最后利用' ...

  3. .netcore 部署时遇到413 Request Entity Too Large 和 413Payload Too Large 的问题

    .netcore3.1 遇到一个webapi 上传大文件问题 首先,在kestrel模式调试模式下上传 会报错413, 需要在三个地方添加 1.startup中 这里设置的2g最大值 2.在progr ...

  4. VMware Centos7 桥接 DHCP无法获得IP

    问题描述 VMware Centos7 桥接模式下,虚拟机无法获得IP,无法联网 解决方案 网络设置为DHCP自动获取IP 查看主机(不是虚拟机)的相关服务是否打开,主要是VMware DHCP 这个 ...

  5. extract变量覆盖

    0x01 extract变量覆盖 <?php $flag='xxx'; extract($_GET); if(isset($shiyan)) { $content=trim(file_get_c ...

  6. android Viewpager禁用/开启滑动切换功能

    要实现viewpager的滑动以及禁止滑动切换功能只需要继承viewpager,在onTouchEvent进行逻辑判断即可(网上搜到的,确实可行,原创地址不明),下面自己实现一个 import and ...

  7. vue.use()方法从源码到使用

    在做 vue 开发的时候大家一定经常接触 Vue.use() 方法,官网给出的解释是: 通过全局方法 Vue.use() 使用插件:我觉得把使用理解成注册更合适一些,首先看下面常见的注册场景. 1 2 ...

  8. MYSQL8 常用操作

    开启root账号远程访问 方法1 mysql'; //修改密码认证方式为mysql_native_password mysql> GRANT ALL ON *.* TO 'root'@'%'; ...

  9. Docker & Kubenetes 系列四:集群,扩容,升级,回滚

    本篇将会讲解应用部署到Kubenetes集群,集群副本集查看,集群自愈能力演示,集群扩容,滚动升级,以及回滚. 本篇是Docker&Kubenetes系列的第四篇,在前面的篇幅中,我们向Kub ...

  10. Java 中的过滤器Filter 和拦截器 Interceptor

    1.先说拦截器 Interceptor 本项目以springboot为例: 新建 InterceptorConfig package com.opendev.mystudy.MyInterceptor ...