字符串,数值,布尔值都属于离散值(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)的更多相关文章

  1. Scala 系列(四)—— 数组 Array

    一.定长数组 在 Scala 中,如果你需要一个长度不变的数组,可以使用 Array.但需要注意以下两点: 在 Scala 中使用 (index) 而不是 [index] 来访问数组中的元素,因为访问 ...

  2. JavaScript基础系列

    JavaScript基础系列 JavaScript是一种基于对象和事件驱动的客户端脚本语言. JavaScript的注释 // 单行 /**/ 多行注释 JavaScript变量,函数名和操作符都是区 ...

  3. Vue基础系列(四)——Vue中的指令(上)

    写在前面的话: 文章是个人学习过程中的总结,为方便以后回头在学习. 文章中会参考官方文档和其他的一些文章,示例均为亲自编写和实践,若有写的不对的地方欢迎大家和我一起交流. VUE基础系列目录 < ...

  4. 【JavaScript基础系列】决定你的人生能走多远的,是基础。

    前言 javaScript门槛非常低,一点语法,一个dom,一个bom就可以使用它开发大部分js应用,再加上现在层出不穷的框架极大的简化抽象了javaScript的使用方式,但是我们始终不能忘记的一点 ...

  5. javascript基础系列(入门前须知)

    -----------------------小历史---------------------------- javascript与java是两种语言,他们的创作公司不同,JavaScript当时是借 ...

  6. 深入理解javascript作用域系列第四篇——块作用域

    × 目录 [1]let [2]const [3]try 前面的话 尽管函数作用域是最常见的作用域单元,也是现行大多数javascript最普遍的设计方法,但其他类型的作用域单元也是存在的,并且通过使用 ...

  7. 深入理解javascript作用域系列第四篇

    前面的话 尽管函数作用域是最常见的作用域单元,也是现行大多数javascript最普遍的设计方法,但其他类型的作用域单元也是存在的,并且通过使用其他类型的作用域单元甚至可以实现维护起来更加优秀.简洁的 ...

  8. JavaScript 基础 学习 (四)

    JavaScript 基础 学习 (四) 解绑事件 dom级 事件解绑 ​ 元素.on事件类型 = null ​ 因为赋值的关系,所以给事件赋值为 null 的时候 ​ 事件触发的时候,就没有事件处理 ...

  9. JavaScript (JS)基础:DOM 浅析 (含数组Array、字符串String基本方法解析)

    ①文本对象document: 例如:document.getElementById()    只获取一个对象          document.getElementsByTagName()   获取 ...

随机推荐

  1. Linux traceroute

    一.简介 traceroute 通过发送 TCP 数据包向目标端口进行探测,以检测源到目标服务器的整个链路上相应端口的连通性情况.   二.语法 -n 直接使用IP地址而非主机名称(禁用 DNS 反查 ...

  2. JAVA如何随机生成一个汉字

    package com.test; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.Rando ...

  3. ADS(一)

    LC匹配 已知输入输出阻抗,设计LC匹配电路使输入输出阻抗共轭匹配 Step1 Step2 Result1 Result2     微带线单枝匹配 已知源和负载阻抗,求微带线单枝匹配电路 Step1 ...

  4. 八皇后,回溯与递归(Python实现)

    八皇后问题是十九世纪著名的数学家高斯1850年提出 .以下为python语句的八皇后代码,摘自<Python基础教程>,代码相对于其他语言,来得短小且一次性可以打印出92种结果.同时可以扩 ...

  5. 【转】UVALive 5964 LCM Extreme --欧拉函数

    题目大意:求lcm(1,2)+lcm(1,3)+lcm(2,3)+....+lcm(1,n)+....+lcm(n-2,n)+lcm(n-1,n)解法:设sum(n)为sum(lcm(i,j))(1& ...

  6. Unity-WIKI 之 SplashScreen

    组件功能 在屏幕上的一个启动画面消失,等待几秒钟(或等待用户输入),然后淡出,下一个场景加载. 组件源码 using UnityEngine; using System.Collections; // ...

  7. Linux由管道组成的值得学习的命令

    1.Linux查找不以#开头的行的命令如:cat /etc/vsftpd/vsftpd.conf | grep -v "#"

  8. 分布式监控系统Zabbix-3.0.3-完整安装记录(5)-邮件报警部署

    前面几篇陆续介绍了zabbix3.0.3监控系统的部署和监控项配置,今天这里分享下zabbix3.0.3的邮件报警的配置过程~由于采用sendmail发送邮件,常常会被认为是垃圾邮件被拒,所以不推荐这 ...

  9. C++构造函数与析构函数

    转自http://blog.csdn.net/tqtuuuu/article/details/6652144 构造函数 对于C++的构造函数,暂且将其分为以下几类: 1. 默认构造函数 2. 隐士转换 ...

  10. 无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性。

    新建一个MVC4的项目,引用DAL后,将DAL的连接字符串考入: <connectionStrings>     <add name="brnmallEntities&qu ...