JavaScript是无类型语言,数组元素可以具有任意的数据类型,同一个数组的不同元素可以具有不同类型。数组的元素设置可以包含其他数组,便于模拟创建多维数组。

1.创建数组

在JavaScript中,创建数组可以使用两种方式

(1)使用 "[]" 创建。

<script type="text/javascript">

var arr=[];  //创建空数组

var arr=['北京',0,true,'上海','代码里','www.daimali.com']; //创建带初始值的数组

</script>

(2)使用 new 关键字创建数组对象 Array()。

在JavaScript 1.1 版本之后,一般使用 new 关键字

<script type="text/javascript">

var arr=new Array();  //创建空数组

var arr=new Array('北京',0,true,'上海','代码里','www.daimali.com'); //创建带初始值的数组

</script>

2.数组元素

JavaScript中数组的元素可以是任何类型的数据。

(1)数组长度。

JavaScript数组的长度是可变的,可以通过Length属性获得。

<script type="text/javascript">

var a=new Array();  //创建空数组

var b=new Array('北京',0,true,'上海','代码里','www.daimali.com'); //创建带初始值的数组

a.Length  //长度为0

b.Length //长度为6

</script>

(2)访问数组元素

JavaScript中访问数组的元素使用 [] 运算符,可以通过下标和关键字访问。遍历数组的元素可以使用循环语法或for..in语句。

<script type="text/javascript">

var arr=new Array('北京',0,true,'上海','代码里','www.daimali.com'); //创建带初始值的数组

writeln('第一个元素值为:'+arr[0]);//输出 北京

</script>

for...in

for(i in arr)

{

document.writeln('元素值为:'+arr[i]); //遍历输出数组值

}

3.多维数组

JavaScript中本来没有多维数组,但数组元素可以是任何类型的数据甚至另一个数组,可以非常方便的模拟多维数组。

(1)使用 new Array()创建多维数组

<script type="text/javascript">

var array1;  var array2;

function createArr()

{

var one = new Array(3);

for(var i=0; i<one.length; i++)

{

one[i] = new Array(4);

for(var j=0;j< one[i].length; j++)

{

one[i][j] =(i+1) * (j+1);//为数组元素赋值

}

}

return one;// 返回创建的多维数组

}

</script>

(2)使用 [] 创建多维数组

array1=[ [1,2,3] , [5,8,9] , [7,'北京',8] ] //就是这么简单...

获取值得方式也简单: array1[0][1] => 1,

array1[0][2] => 2,

array1[2][1] => 北京

4.数组排序

在JavaScript中,数组可以直接使用Array对象的sort()方法,该方法允许传递一个排序函数作为参数。不过不传递参数,则按照 ASCII 字符顺序升序排序;否则,传递给该方法的函数必须返回负数,0 或正数,返回值表示相邻两个元素的比较结果,sort()方法按照比较结果排序。

<script>

var a= Array(10,215,324,3,1254,300);

a.sort(); //不传递参数  排序结果是: 10,215,324,3,1254,300

function sortfun(one, two)

{

return one - two;

}

a.sort(sortfun); //传递函数作为参数  排序结果为:3,10,215,300,324,1254

</script>

来源:代码里

链接:http://www.daimali.com/index.php/2016/04/28/335/

 

JavaScript 基础回顾——数组的更多相关文章

  1. Javascript基础回顾 之(三) 面向对象

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  2. Javascript基础回顾 之(二) 作用域

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  3. Javascript基础回顾 之(一) 类型

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  4. JavaScript 基础回顾——对象

    JavaScript是基于对象的解释性语言,全部数据都是对象.在 JavaScript 中并没有 class 的概念,但是可以通过对象和类的模拟来实现面向对象编程. 1.对象 在JavaScript中 ...

  5. JavaScript基础回顾一(类型、值和变量)

    请看代码并思考输出结果 var scope = 'global'; function f(){ console.log(scope); var scope = 'local'; console.log ...

  6. javascript基础知识-数组

    1.javascript创建数组时无需声明数组大小或者在数组大小变化时重新分配 2.javascript数组是无类型的 3.数组元素不一定要连续 4.针对稀疏数组,length比所有元素的索引都要大 ...

  7. JavaScript基础——使用数组

    Array对象提供存储和处理一组其他对象的一种手段.数组可以存储数值.字符串或其他JavaScript对象.创建JavaScript数组有几种不同的方法.例如,下面的语句穿件同样的驻足的3个相同的版本 ...

  8. JavaScript基础回顾

    1, NaN 不是数字  Infinity 无穷大 alert(parseInt("dd")); //NaN alert(1/0); //Infinity 2, 逻辑或 || ,返 ...

  9. JavaScript 基础(二)数组

    字符串, JavaScript 字符串就是用'' 和""括起来的字符表示. 字符字面量, \n 换行, \t 制表, \b 退格, \r 回车, \f 进纸, \\ 斜杠,\' 单 ...

随机推荐

  1. 速战速决 (4) - PHP: 类基础, 抽象类, 接口, trait

    [源码下载] 速战速决 (4) - PHP: 类基础, 抽象类, 接口, trait 作者:webabcd 介绍速战速决 之 PHP 类基础 抽象类 接口 trait 示例1.类的相关知识点 1(基础 ...

  2. JFreechart 在linux下不显示及中文乱码问题

    一.使用JFreeChart建的报表,在window下能正常显示,但是放到linux下就报错,而且有时候会把tomcat挂掉, 原因是jfreechart的在linux系统中需要访问java awt库 ...

  3. Asp.net mvc自定义Filter简单使用

    自定义Filter的基本思路是继承基类ActionFilterAttribute,并根据实际需要重写OnActionExecuting,OnActionExecuted,OnResultExecuti ...

  4. 学习笔记:Asp.Net MVC更新部分页面

    Asp.Net MVC 更新部分页面 设想我们有一篇文章下面的提交评论时如何只刷新评论内容部分, 方法一,利用ajax通过js代码实现. 方法二,利用Ajax.BeginForm()+部分视图实现. ...

  5. [注意]SerialPort操作PCI-1621D多串口卡,出现异常"参数不正确"

    开发LED大屏显示.40-20mA模拟量输出的时候,经常要与串口打交道.但是Windows自带的SerialPort串口操作组件貌似兼容性 不是太好,或是SerialPort本身有BUG,在操作PCI ...

  6. js中this的绑定

    人们对于this的绑定常常有两个误解,一:指向函数本身,二:指向函数作用域.这两种想法都是错的,this并不指向函数本身,也不指向函数作用域. function foo(){ this.count++ ...

  7. 第一个web框架tornado

    简介 tornado,是我学到的第一个web框架是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像web.py 或者 Google ...

  8. [DOM Event Learning] Section 4 事件分发和DOM事件流

    [DOM Event Learning] Section 4 事件分发和DOM事件流 事件分发机制: event dispatch mechanism. 事件流(event flow)描述了事件对象在 ...

  9. java设计模式--策略模式

    策略模式属于对象的行为模式.其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换.策略模式使得算法可以在不影响到客户端的情况下发生变化. 本文地址:http:// ...

  10. iOS开发之Runtime机制深入解析

    本篇主要讲述在 OC 开发中主要涉及到的运行时机制: 运行时的工作: 运行时在 OC 中的工作:OC 语言的设计模式决定了尽可能的把程序从编译和链接时推迟到运行时.只要有可能,OC 总是使用动态的方式 ...