字符串,数值,布尔值都属于离散值(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. ubuntu + hadoop2.5.2分布式环境配置

    ubuntu + hadoop2.5.2分布式环境配置 我之前有详细写过hadoop-0.20.203.0rc1版本的环境搭建 hadoop学习笔记——环境搭建 http://www.cnblogs. ...

  2. Openwrt LuCI模块练习详细步骤

    前言 又到了成胖子^_^每周一博的时间了.最近在学习openwrt luci方面的知识,为了贯穿整个知识体系,练习题目为: 通过页面配置周期性地往/tmp/addtest文件写入内容和时间戳 1.在w ...

  3. Plus One

    Plus One https://leetcode.com/problems/plus-one/ Given a non-negative number represented as an array ...

  4. 聚合数据天气预报API-ajax 通过城市名取数据

    如需要,可申请聚合数据天气预报API:https://www.juhe.cn/docs/api/id/39,并生成AppKey. 接口地址:http://v.juhe.cn/weather/index ...

  5. 边工作边刷题:70天一遍leetcode: day 78

    Graph Valid Tree 要点:本身题不难,关键是这题涉及几道关联题目,要清楚之间的差别和关联才能解类似题:isTree就比isCycle多了检查连通性,所以这一系列题从结构上分以下三部分 g ...

  6. 我的第一篇博客--SQL小语句

    开通了博客,拥有了属于自己的小小天地.先写一篇今儿刚学到的 1 remove mirroring relationship alter database datab_name set partner ...

  7. 【shiro】shiro学习笔记1 - 初识shiro

    [TOC] 认证流程 st=>start: Start e=>end: End op1=>operation: 构造SecurityManager环境 op2=>operati ...

  8. openstack常规操作命令梳理

    之前顺利部署了openstack+kvm的虚拟化云平台管理环境,其中,涉及到不少openstack操作命令,记录如下: 查看rabbitmq 队列[root@openstack ~]#rabbitmq ...

  9. 10Spring_AOP编程(传统编程)

    注意我写这篇文章的思路,要想做切面编程,包含两个部分,通知和切点,通知是你要做哪些增强,切点是指你要拦截哪些方法.先介绍通知的定义再去介绍切点的定义.这篇文章我取名叫做Spring_AOP编程(传统编 ...

  10. Performance Counter的使用——获取各类组件性能,获取CPU参数等

    一 PerformanceCounter 基本介绍1 简单介绍表示 Windows NT 性能计数器组件 命名空间:System.Diagnostics程序集:System(在 system.dll ...