Javascript基础系列之(四)数据类型 (数组 array)
字符串,数值,布尔值都属于离散值(scalar),如果某个变量是离散的,那么任何时候它只有一个值。
如果想使用变量存储一组值,就需要使用数组(array)。
数组是由多个名称相同的树值构成的集合,集合中每个数组都是数组的元素(element),可以使用变量team存储团队里每个成员的名字。
在JavaScript中,数组使用关键字 Array声明创建,同事还可以声明变量的长度length。例如
- var aTeam = new Array(12);//声明变量的长度
在无法预知数组的最终个数时,声明数组可以不指定具体个数。例如:
- var aTeam = new Array();//数组最终个数未知的情况下,可以不声明具体的个数
aTeam[0] = 1414;
aTeam[1] = "北京";
aTeam[2] = 0x4;
aTeam[3] = "i can";
aTeam[4] = "red";
aTeam[5] = "blue";
aTeam[6] = "orange";
另外,可以直接创建数组
- var aTeam = new Array("111","blue","red","beijing");
同字符串一样,数组也可以使用length获取和指定数组的长度。
- var aTeam = new Array("111","blue","red","beijing" );
- document.write(aTeam[1]+"<br>");
- document.write(aTeam.length +"<br>")
令注:能更深刻的理解数组。
- var aTeam = new Array("111","blue","red","beijing" );
- aTeam[20] = "12415"
- document.write(aTeam[20]+"<br>");
- document.write(aTeam.length +"<br>")
另外, 数组还可以用[ ]来定义。中间使用逗号隔开。
- sTeam = [10,"5565","北京",33263,"red"]
- document.write(sTeam[3]) //输出 33263
数组可以使用toString()方便的转化
- sTeam = [10,"5565","pking",33263,"red"]
- document.write(sTeam.toString()) //
- //输出结果 10,5565,pking,33263,red
- document.write(typeof(ss));
//输出结果 string
如果数组转化为字符串不想使用逗号连接 ,可使用join()方法。
- sTeam = [10,"5565","pking",33263,"red"]
- ss = sTeam.join("-");
- dd =sTeam.join("][")
- //输出结果 10,5565,pking,33263,red
- document.write(ss);
- document.write(dd);
- //输出 10-5565-pking-33263-red 10][5565][pking][33263][red
对于字符串,JavaScript使用split()转化为数组
- var fruit = "apple,2151,orange";
- sfruit = fruit.split(",")
- document.write(sfruit); //输出 apple,2151,orange
- document.write(sfruit.join("-")); //输出apple-2151-orange
接上例,javascript提供了reverse()方法使数组反转。
- var fruit = "apple,2151,orange";
- sfruit = fruit.split(",")
- document.write(sfruit); //输出 apple,2151,orange
- document.write(sfruit.join("-")+"<br>"); //输出apple-2151-orange
- document.write(sfruit.reverse()+"<br>");输出 orange,2151,apple
- document.write(sfruit.reverse().toString()+"<br>");输出apple,2151,orange
对于字符串反转,javascript没有直接的转化方法,我们可以利用split()将字符串转为数组,利用rerverse()进行反转,再利用join进行连接,达到字符串反转。
- var fruit = "2151,orange,apple";
- var sfruit = "iambeijing123";
- document.write(fruit.split(",").reverse()+"<br>");//2151,orange,apple
- document.write(sfruit.split("").reverse().join("")+"<br>");//输出iambeijing123
利用sort()可以使数组元素进行(字母顺序)排序。
- fruit = ["orange2","2151","orange","apple"]
- document.write(fruit.sort());//输出结果2151,apple,orange,orange2
关于push()和pop()的用法
- sfruit = new Array();
- sfruit.push("red");
- sfruit.push("green");
- sfruit.push("oragen");
- sfruit.push("blue");
- document.write(sfruit.length + sfruit.toString()+"<br>");
- var wfruit = sfruit.pop();
- document.write(wfruit+"<br>")
- document.write(sfruit.toString())
如上,javascript将数组看成了一个堆栈,通过push()和pop()进行压栈和出栈处理。
Javascript基础系列之(四)数据类型 (数组 array)的更多相关文章
- Scala 系列(四)—— 数组 Array
一.定长数组 在 Scala 中,如果你需要一个长度不变的数组,可以使用 Array.但需要注意以下两点: 在 Scala 中使用 (index) 而不是 [index] 来访问数组中的元素,因为访问 ...
- JavaScript基础系列
JavaScript基础系列 JavaScript是一种基于对象和事件驱动的客户端脚本语言. JavaScript的注释 // 单行 /**/ 多行注释 JavaScript变量,函数名和操作符都是区 ...
- Vue基础系列(四)——Vue中的指令(上)
写在前面的话: 文章是个人学习过程中的总结,为方便以后回头在学习. 文章中会参考官方文档和其他的一些文章,示例均为亲自编写和实践,若有写的不对的地方欢迎大家和我一起交流. VUE基础系列目录 < ...
- 【JavaScript基础系列】决定你的人生能走多远的,是基础。
前言 javaScript门槛非常低,一点语法,一个dom,一个bom就可以使用它开发大部分js应用,再加上现在层出不穷的框架极大的简化抽象了javaScript的使用方式,但是我们始终不能忘记的一点 ...
- javascript基础系列(入门前须知)
-----------------------小历史---------------------------- javascript与java是两种语言,他们的创作公司不同,JavaScript当时是借 ...
- 深入理解javascript作用域系列第四篇——块作用域
× 目录 [1]let [2]const [3]try 前面的话 尽管函数作用域是最常见的作用域单元,也是现行大多数javascript最普遍的设计方法,但其他类型的作用域单元也是存在的,并且通过使用 ...
- 深入理解javascript作用域系列第四篇
前面的话 尽管函数作用域是最常见的作用域单元,也是现行大多数javascript最普遍的设计方法,但其他类型的作用域单元也是存在的,并且通过使用其他类型的作用域单元甚至可以实现维护起来更加优秀.简洁的 ...
- JavaScript 基础 学习 (四)
JavaScript 基础 学习 (四) 解绑事件 dom级 事件解绑 元素.on事件类型 = null 因为赋值的关系,所以给事件赋值为 null 的时候 事件触发的时候,就没有事件处理 ...
- JavaScript (JS)基础:DOM 浅析 (含数组Array、字符串String基本方法解析)
①文本对象document: 例如:document.getElementById() 只获取一个对象 document.getElementsByTagName() 获取 ...
随机推荐
- folly
一.简介 Folly是,Facebook于2012年6月初开源的一个基于C++11的C++组件库,提供了类似Boost库和std库的功能,包括散列.字符串.向量.内存分配.位处理等,以满足大规模高性能 ...
- hdu 2196 Computer(树形DP)
Computer Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- docker基础命令详解
Commands: attach Attach to a running container build Build an image from a Dockerfile commit ...
- LAMP编译参数查看
Linux下查看Nginx.Napache.MySQL.PHP的编译参数的命令如下: 1.nginx编译参数:#/usr/local/nginx/sbin/nginx -V2.apache编译参数:# ...
- ZooKeeper系列2:ZooKeeper的运行
问题导读1.如何启动ZooKeeper 服务?2.如何启动集群 1)单机模式 用户可以通过下面的命令来启动 ZooKeeper 服务: zkServer.sh start 复制代码 这个命令默认情况下 ...
- 如何用dos命令运行testng
写好的自动化程序怎么让它运行呢,总不能每次都启动eclipse吧,下面就先介绍一种用dos命令运行testNG的方法. 1.把项目打成jar吧,我用的是Fat jar工具. 2.在电脑的某个盘建一个文 ...
- 【实践】jdbc批量插入数据
参考文献:http://my.oschina.net/u/1452675/blog/203670 http://superjavason.iteye.com/blog/255423 /*测试批量写入数 ...
- maven总结3
POM文件 maven版本:apache-maven-3.1.1 1.<modelVersion>4.0.0</modelVersion> pom模型的版本,对于maven2 ...
- 解决Gradle DSL method not found: ‘android()’
最近导入as的项目出了这样的问题 这个问题困扰了我很长时间,好吧,搜了半天全都是runProguard的,最后在stackoverflow上搜到解决办法了: http://stackoverflow. ...
- Android优化——UI优化(三)使用ViewStub延迟加载
使用ViewStub延迟加载 1.ViewStub延迟加载 ViewStub是一个不可见的,大小为0的View,最佳用途就是实现View的延迟加载,在需要的时候再加载View,可Java中常见的性能优 ...