当前位置: 首页 > news >正文

javascrip 对数组的操作方法

1、join():将数组中所有元素都转化成字符串并连接在一起,返回最后生成的字符串;

   与split()方法相反,split()是将字符串分割成若干块来创建一个数组;

var a = [1,2,3];
a.join();    //=> 1,2,3
a.join("");   //=> 123
a.join(" ");  // => 1 2 3
a.join("-");   //=>  1-2-3

2、reverse():将数组中的元素颠倒顺序,返回逆序的数组;

var a = [1,2,3,6,5];  
a.reverse();  //[5,6,3,2,1]

 3、sort():将数组中的元素排序并返回排序后的数组,

  会改变原数组的值,如果想不改变原数,则需要深度拷贝数组:var b = a.concat([])

  默认是根据字母排序,如果要根据数值排序,需要使用

  function(a,b){

    return a-b;  //使用升序

    return b-a;  //使用降序

   }, ;

var a = [1,2,33,6,5];
a.sort();  //=> [1, 2, 33, 5, 6]
a.sort(function (a,b) {  //=> sortA: [1, 2, 5, 6, 33]
      return a-b;
})

a.sort(function (a,b) {  //=>  backSortA: [33, 6, 5, 2, 1]
      return b-a;
})

4、concat():创建并返回一个新数组,如果参数是数组,则连接的是数组的元素,并不是数组本身;concat()并不会改变数组本身,也可用于深拷贝数组;

var b = [1,2,22,33,5];
b.concat(4,5);  //=> [1, 2, 22, 33, 5, 4, 5]
b.concat([4,5]);  //=> [1, 2, 22, 33, 5, 4, 5]
b.concat([4,[5,6]]);  //=> [1, 2, 22, 33, 5, 4, [5,6]]

  对数组b进行排序,但不改变原来的数组:

var b = [1,2,22,33,5];
var sortB = b.concat([]);
sortB.sort(function (a,b) {  //=> sortB:[1, 2, 5, 22, 33];  b: [1, 2, 22, 33, 5]
    return a-b;
})

5、slice():获取指定的数组元素;包含第一个指定元素的位置,到指定元素的前一个位置,就是[a,b),包含a的位置,不包含b的位置;下标位置从0开始,负数是指倒数第几个;

var c = [0,1,2,3,4,5];
c.slice(0,3);   //=> [0, 1, 2]
c.slice(3);  //=>  [3, 4, 5]
c.slice(0,-2);  //=> [0, 1, 2, 3]

6、splice():删除或插入数组;前两个参数指定了需要删除的数组,紧随其后的任意个数的参数指定了需要插入到数组中的元素,从第一个参数指定的位置开始插入;

  splice()方法返回值是数组,并会改变原数组,下标从0开始;

var d = [0,1,2,3,4,5];
var result = d.splice(1,3);   //=>从下标为1的数组元素删除3个元素 result: [1, 2, 3]; d: [0, 4, 5]
var d = [0,1,2,3,4,5];
var result = d.splice(3); //=> 删除最后三个数组元素 result: [3,4,5], d: [0,1,2]
 
  
var d = [0,1,2,3,4,5];
var result = d.splice(2,2,'a','b'); //=>从第2个位置删除两个元素,并从第2个位置插入两个元素 result: [2, 3], d: [0, 1, "a", "b", 4, 5]
 
 

7、push():向数组的尾部添加一个或多个元素;

8、pop():与push()相反,删除数组的最后一个元素;

9、unshift():向数组的头部添加一个或多个元素;

10、shift():删除数组的头部元素;

11、toString():将数组转成字符串,并用带号做分隔符;

 

转载于:https://www.cnblogs.com/siyecao2010/p/10136502.html

相关文章:

  • [人间也值得] - Mryang带你快速入门第一个 Python 程序
  • Python自定义异常及抛出异常
  • ES6 - 数组扩展
  • 戴尔服务器使用omreport(OMSA)查看监控硬件信息
  • 处理SQL Server中的重复行
  • 互联网视频直播技术(广电总局、优酷土豆、XX直播)
  • Zookeeper Clustered (Multi-Server) Deployment
  • 孤儿进程 僵尸进程 守护进程及wait函数详解
  • 利用Java反射机制实现对象相同字段的复制
  • Markdown基本语法
  • 浅探前端图片优化
  • kubernetes 监控方案之:heapster+influxdb+grafana(十八)
  • Servlet-生命周期
  • CSS 文字太多用省略号表示
  • 互联网轻量级框架SSM-查缺补漏第四天
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • 78. Subsets
  • CSS 三角实现
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • JavaScript设计模式之工厂模式
  • Java教程_软件开发基础
  • NSTimer学习笔记
  • springboot_database项目介绍
  • Spring框架之我见(三)——IOC、AOP
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • ucore操作系统实验笔记 - 重新理解中断
  • WebSocket使用
  • 笨办法学C 练习34:动态数组
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • 昨天1024程序员节,我故意写了个死循环~
  • ​虚拟化系列介绍(十)
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (day6) 319. 灯泡开关
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (分布式缓存)Redis持久化
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (转)详解PHP处理密码的几种方式
  • (转载)利用webkit抓取动态网页和链接
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .net core开源商城系统源码,支持可视化布局小程序
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • .ui文件相关
  • @开发者,一文搞懂什么是 C# 计时器!
  • [《百万宝贝》观后]To be or not to be?
  • [20171106]配置客户端连接注意.txt
  • [2019.3.20]BZOJ4573 [Zjoi2016]大森林