1、下面使用JavaScript数组下标,我们看示例吧。

为数组下标指定负值:

var a = [];                 // 定义空数组直接量

a[-1] = 1;                  // 为下标为-1的元素赋值

alert(a.length);            // 返回值为0,说明数组长度没有增加

alert(a[-1]);                // 返回1,说明这个元素还是存在的

alert(a["-1"]);             // 返回1,说明这个值以对象属性的形式被存储

var a = [];

a[true] = 1;

a[false] = 0;

alert(a.length);            // 返回值为0,说明数组长度没有增加

alert(a[true]);             // 返回值为1

alert(a[false]);            // 返回值为0

alert(a[0]);                // 返回undefined

alert(a[1]);                // 返回undefined

a["1"] = 1;

alert(a[1]);                // 返回值为1

2、这种数据格式被称为哈希表(或称关联数组,伪数组),哈希表的数据检索速度要优于数组迭代检索。对于下面操作:

var a = [["张三",1],["李四",2],["王五",3]]; // 二维数组

for(var i in a){                           // 遍历二维数组

if(a[i][0] == "李四") alert(a[i][1]) ; // 检索指定元素

}

var a = [];                            // 定义空数组

a["张三"] = 1;                         // 以文本下标来存储元素的值

a["李四"] = 2;

a["王五"] = 3;

alert(a["李四"] );                     // 快速定位检索

3、JavaScript不支持二维数组,用户可以模仿二维数组的语法格式来定义数组。下面写法在语法上虽然不符合规定,但是JavaScript不会提示编译错误:

var a = [];

a[0,0] = 1;

a[0,1] = 2;

a[1,0] = 3;

a[1,1] = 4;

alert(a.length);                // 返回2,说明仅有两个元素有效

alert(a[0]);                    // 返回3

alert(a[1]);                    // 返回3

var a = [], i = 1;             // 初始化变量

while( i < 10 ){                // 指定循环次数

a[i *= 2 , i] = i;          // 指定下标为2的幂数时才进行赋值

}

alert( a.length );              // 返回17

alert( a );                     // 返回数组[,,2,, 4,,,, 8,,,,,,,, 16]

4、对象也可以作为数组下标,JavaScript会试图把对象转换为数值,如果不行,则把它转换为字符串,然后以文本下标的形式进行操作。

var a = [];                     // 数组直接量

var b = function(){             // 函数直接量

return 2;

}

a[b] = 1;                       // 把对象作为数组下标

alert( a.length );              // 返回长度为0

alert( a[b] );                  // 返回1

var s =b.toString();            // 获取对象的字符串

alert( a[s] );                  // 利用文本下标读取元素的值

a[b()] = 1;                     // 在下标处调用函数,则返回值为2

alert( a[2] );                  // 所以可以使用2来读取该元素值

Javascript 数组下标相关推荐

  1. HTML数组序号,javascript数组下标从几开始?

    数组是javascript中的一个重要组成部分,那么在javascript中数组的下标从几开始?下面本篇文章就来给大家介绍一下,希望对大家有所帮助. javascript数组下标是从0开始的. 那么为 ...

  2. javascript数组中数字和非数字下标的区别

    考完试后闲来无事,想起好多天没写js了,于是打算实践一下最近看到的一些好玩的点子.结果写着写着,发现了一点有趣的小问题.出现问题的代码如下: 1 var array = []; 2 array[&qu ...

  3. JavaScript 数组拼接打印_JavaScript 数组方法

    JavaScript 数组方法 JS 数组 JS 数组排序 JavaScript 数组的力量隐藏在数组方法中. 把数组转换为字符串 JavaScript 方法 toString() 把数组转换为数组值 ...

  4. 深入浅出 JavaScript 数组 v0.5

    有一段时间不更新博客了,今天分享给大家的是一篇关于JS数组的,数组其实比较简单,但是用法非常灵活,在工作学习中应该多学,多用,这样才能领会数组的真谛. 以下知识主要参考<JS 精粹>和&l ...

  5. JavaScript数组方法大全解

    0 前言 本文只讲解标准化方法,而不会讲解实验性方法,如at().groupBy().groupByMap()和toSource(). 数组中的部分方法需要提供区间范围begin/start和end, ...

  6. splice方法_[7000字]JavaScript数组所有方法基础总结

    基础决定一个人的上限,很多时候我们感叹别人在实现一个功能时使用方法的精妙,并且反思,为什么别人想的出来自己却想不出来?我觉得主要是因为对于基础的掌握上有很大的差距.本文总结数组的所有方法的基础使用,希 ...

  7. javascript数组浅谈1

    最近心血来潮要开始玩博客了,刚好也在看数组这块内容,第一篇就只好拿数组开刀了,自己总结的,有什么不对的地方还请批评指正,还有什么没写到的方面也可以提出来我进行完善,谢谢~~ 首先,大概说说数组的基本用 ...

  8. 基于JavaScript 数组的经典程序应用源码(强烈建议收藏)

    文章目录 设计一个数组输入并显示的程序. 数组输入和显示 选择排序 选择排序 排序程序包 排序网页 杨辉三角形 杨辉三角形网页 C语言画一个sin(x)的曲线 螺旋线访问二维数组 JavaScript ...

  9. js 取得数组下标_数组的介绍及使用

    JavaScript 中的数组常用于在单个变量中存储多个值.数组就是一组数据的集合,在内存中表现为一段连续的内存地址(保存在堆内存).创建数组的目的就是为了保存更多的数据. 数组概念和语法 概念:数组 ...

最新文章

  1. python数据分析常用的算法_萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第二节 线性回归算法 (上)理解篇...
  2. JavaFX技巧8:美丽深层
  3. Spring:使基于Java的配置更加优雅
  4. 短连接生成器——让你的url地址长度变短
  5. Kafka三款监控工具比较
  6. 萌新的Python练习菜鸟100例(十八)一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
  7. python image清除_60秒掌握Python内置模块Turtle的用法——绘制漫天雪花
  8. 一张图11招学会Python网络黑客
  9. HttpClient4
  10. 【Java 8 新特性】使用Collectors.toList()方法将Map转化成List的示例
  11. Mac 没有声音怎么恢复
  12. word硕士毕业论文不同章节设置不同页眉
  13. Docker编译安装httpd
  14. 程序员土豆原创诗四首回顾
  15. 华为路由器 上网慢 延迟高 解决方法
  16. php研究所 百科_松下幸之助_PHP研究所
  17. 2014 年第六届全国大学生数学竞赛江西赛区赣南师范学院获奖名单(数学专业)
  18. 天玑1300和骁龙870哪个好 天玑1300和高通骁龙870差距
  19. Python3 教程4
  20. 经济学中的“破窗理论”

热门文章

  1. “天猫双11”背后的流量治理技术与标准实践
  2. Ruby on Rails (3)
  3. python pyquery中如何解决nbsp_Python-PyQuery 详解
  4. 最顶级的成长,是拥有“好奇心”
  5. 怎么看小米发布了MIX Alpha
  6. 联想y系列 win8 在GPT分区下安装win7
  7. ORACLE SQL 遍历字符串
  8. 新一代研发效能架构 water:超越 Serverless 的云研发架构模式
  9. mysql查询去重后的总数
  10. paypal创始人_Paypal创始人的一些经历