JavaScript之数组

   一、数组的定义

  数组是按次序排列的一组值,单个值称为元素,他们的位置都有编号,从 0 开始,整个数组用方括号表示。

  var arr = [ 12, 34, 56 ];

  上面代码就表示,创建了一个数组,12是0号位置,34是1一号位置,56是2号位置,和Java中的数组下标是一样的,都是从0 开始。

  除了定义时赋值,数组也可以先定义,后赋值。

  var arr;

  arr[0] = 12;

  arr[1] = 34;

  arr[2] = 56;

  任意一种数据类型都可以放入数组,

  var arr = [12,3.14,'a',"123",null,undefined, function (){return true;} ];

  上面分别放入了 整形,浮点型,字符型,字符串,null,undefined,函数。

  数组也可以放进去,如果放进去数组的话,就构成了多维数组。

  二、数组与对象的关系

  本质上数组也属于对象,是字典结构的一个变种。

  console.log( typeof [1,2,3] ) //object

  上面代码说明数组是一种特殊的对象,所有typeof运算符,返回数组的类型是object。

  数组的特殊性体现在,它的键默认是按次序排列的整数(1,2,3,4....),所有数组不用为每个元素指定键名,而对象的每个成员都必须指定键名,另外,数组以字符串来识别键名,非字符串的键名会被转化为字符串,所以数值或字符串作为键名,都能读取数组的成员。

  var arr = [12, 34, 56];

  arr['0'] // 12

  arr[0] // 12

  上面代码分别用数值或字符串作为键名,都能读取数组。

  需哟注意的是,上面的一条规定在赋值时也成立,如果一个值可以被转化为整数,则以该值为键名,等于以对应的整数为键名,

  var a = [];

  a['1000'] = 'abc';

  a[1000] // 'abc'

  a[1.00] = 6;

  a[1] // 1

  通过上面代码可以看到,'1000'和 1.00都可以被转化为整数。

  对象有两种读取成员的方法:点结构(object.key)和方括号结构(object[key]),但是对于数组的键名不能使用点结构,arr.0是非法的,因为单独的数字不能作为标示符,所以数组成员只能通过 方括号结构来读取成员。arr[0](方括号是运算符,可以接受数值)。

  三、length属性

  数组的length属性,返回的是数组成员的数量。

  var arr = [12,34,56];

  console.log(arr.length); //3

  JavaScript使用一个32位整数保存数组的元素个数,这意味着,这组成员最多有 2的32次方-1(4294967295),也就是说length属性的最大值就是4294967295。

  数组的length属性和对象的length属性是有区别的,主要是数组,就一定有length属性,而对象不一定有。而且,数组的length属性是一个动态的值,等于键名中最大整数加1。

  var arr = ['a', 'b'];

  arr.length // 2

  arr[2] = 'c';

  arr.length // 3

  arr[9] = 'd';

  arr.length // 10

  arr[1000] = 'e';

  arr.length // 1001

  上面代码也表示,数组的键值不需要连续,length属性的值总是比最大的那个整数加 1,另外,这也表明数组是一种动态的数据结构,可以随时的增减成员。

  length属性是可写的,如果人为设置一个小于当前成员个数的值,该数组的成员就会自动缩减到length设置的值。

  var arr = [ 'a', 'b', 'c' ];

  arr.length // 3

  arr.length = 2;

  alert(arr); // ["a", "b"]

  上面代码,length属性被设置为 2,则数组下标的最大值只能是 1,所以arr[2]这个值被删除了。

  通过这个我们可以找到一个清空数组元素的一个最简单的方法,就是将length属性设置为0。

  var arr = [ 'a', 'b', 'c' ];

  arr.length = 0;

  alert(arr); // []

时间: 2024-12-30 00:00:12

JavaScript之数组的相关文章

javascript循环数组的方法

javascript数组:记录一下! 一个数组: 01.<script> 02. var colors = { 03. "1" : { 04. "a" : "#000000", 05. "b" : "#fdf6ed", 06. "c" : "#634322", 07. "d" : "#c8ab8f", 08. &qu

JavaScript判断数组是否包含指定元素的方法

  本文实例讲述了JavaScript判断数组是否包含指定元素的方法.分享给大家供大家参考.具体如下: 这段代码通过prototype定义了数组方法,这样就可以在任意数组调用contains方法 ? 1 2 3 4 5 6 7 8 9 10 11 12 /** * Array.prototype.[method name] allows you to define/overwrite an objects method * needle is the item you are searching

JavaScript实现数组随机排序的方法

  本文实例讲述了JavaScript实现数组随机排序的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 function Shuffle(o) { for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x); return o; }; 使用方法: ? 1 2 3 4 5 6 7 8 var testArray = [1,2,3,4,5];

javascript删除数组重复元素的方法汇总

  本文实例讲述了javascript删除数组重复元素的方法.分享给大家供大家参考.具体分析如下: 这里分享一个前端面试高频题,主要实现javascript删除数组重复元素.希望对初学者有所帮助 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 //数组去重的方法 Array.prototype.unique=function(){ //集中声明变量 var oldArr=this, newArr=[oldArr[0]], len=oldA

JavaScript获取数组最小值和最大值的方法

 本文实例讲述了JavaScript获取数组最小值和最大值的方法.分享给大家供大家参考.具体如下: 1 2 3 4 5 6 var arr = new Array(); arr[0] = 100; arr[1] = 0; arr[2] = 50; var min = Math.min.apply(null, arr), max = Math.max.apply(null, arr); 希望本文所述对大家的javascript程序设计有所帮助.

javascript中数组是如何求最大值

 数组如何求最大值,想必很多的朋友都不会吧,本文为大家介绍下javascript中数组是如何求最大值的,感兴趣的朋友不要错过 代码如下: <html>  <head>  <title>数组的最大值的获取</title>    <script>  //定义数组  var arr = [1,4,3,9,5,0,-1,7,22];    //最大值的下标,先假定为第一个元素的下标  var index = 0;  for(var x = 0; x &l

javascript中数组的concat()方法的具体使用

 数组的concat()方法想必大家比不陌生吧,在本文为大家介绍下javascript中数组的concat()方法的具体使用,感兴趣的朋友可以参考下 代码如下: <html>  <head>  <title>数组的concat()方法</title>    <script>  /*  数组的concat()方法:  1.该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本.  2.返回一个新的数组.该数组是通过把所有 arrayX 参数添加

JavaScript把数组作为堆栈使用的方法

 这篇文章主要介绍了JavaScript把数组作为堆栈使用的方法,实例分析了javascript操作数组的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JavaScript把数组作为堆栈使用的方法.分享给大家供大家参考.具体如下: JavaScript把数组作为堆栈使用的代码范例,支持堆栈常用的push和pop方法 ? 1 2 3 4 5 6 7 8 <script type="text/javascript"> var numbers = [&q

JavaScript删除数组元素的方法

 这篇文章主要介绍了JavaScript删除数组元素的方法,实例分析了javascript中delete函数的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JavaScript删除数组元素的方法.分享给大家供大家参考.具体分析如下: JS中可以通过delete删除数组元素,但是删除后数组的大小不会改变 ? 1 2 3 4 5 6 7 8 9 <script type="text/javascript"> <!-- var days = [

JavaScript将数组转换成CSV格式的方法

 这篇文章主要介绍了JavaScript将数组转换成CSV格式的方法,实例分析了javascript使用valueOf方法将数组值转换为csv格式字符串的技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了JavaScript将数组转换成CSV格式的方法.分享给大家供大家参考.具体分析如下: JavaScript中数组对象的valueOf方法可以将数组的值输出为逗号分割的字符串,下面的代码演示了如何将数组抓换成逗号和竖线分割的字符串 ? 1 2 3 4 var fruits =