Javascript的常规数组和关联数组对比小结

时间:2024-04-28 09:47:29 

首先我们看看数组的分类:

从数组的下标分为索引数组、关联数组


/* 索引数组,即通常情况下所说的数组 */
var ary1 = [1,3,5,8];
//按索引去取数组元素,从0开始(当然某些语言实现从1开始),索引实际上就是序数,一个整型数字
ary1[0];
ary1[1];
ary1[2];
ary1[3];

/* 关联数组,指以非序数类型为下标来存取的数组 python中称为字典 */
var ary2 = {}; //存取时,以非序数(数字),这里是字符串
ary2["one"] = 1;
ary2["two"] = 2;
ary2["thr"] = 3;
ary2["fou"] = 4;



问题:你可以如下测试:
alert(arry1.length); // 返回值为:4
alert(arry2.length); //返回值为:0

这是因为什么呢,因为js是非类型语言,所以js 的任何类型都是object,

比如var arr = [];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr["s"] = 4;
此时你调用arr.s相当于是在调用arr这个对象的s属性,但是这是arr.length仍然是3。

总结:关联数组虽然可以用字符串作下标,但是这个下标是不支持参数传值的,换言之,你需要什么就取什么,听起来很智能,实际上你取值仍然需要你手动去写下标的。

标签:常规数组,关联数组
0
投稿

猜你喜欢

  • MySQL两种表存储结构MyISAM和InnoDB的性能比较测试

    2024-01-28 02:35:55
  • Python 机器学习工具包SKlearn的安装与使用

    2023-11-10 13:13:05
  • 详解Pymongo常用查询方法总结

    2022-06-01 09:13:30
  • Python图片视频超分模型RealBasicVSR的使用教程

    2021-10-11 13:40:04
  • Go语言框架快速集成限流中间件详解

    2023-08-26 11:44:39
  • Python Web框架之Django框架Model基础详解

    2023-11-04 22:07:00
  • 在ASP.NET 2.0中操作数据之十六:概述插入、更新和删除数据

    2024-06-05 09:27:08
  • 使用php来实现网络服务

    2024-06-05 09:46:46
  • win2008 R2 WEB环境配置之MYSQL 5.6.22安装版安装配置方法

    2024-01-25 10:25:17
  • 内容页页码的预览导航

    2008-07-07 16:43:00
  • python3 selenium自动化 frame表单嵌套的切换方法

    2022-05-15 10:26:57
  • adodb.stream对象的方法/属性

    2008-06-07 08:14:00
  • 对网页切片算法问题的研究

    2008-06-05 12:41:00
  • 命令行传递参数argparse.ArgumentParser的使用解析

    2023-09-09 12:28:17
  • Python爬虫之urllib基础用法教程

    2023-08-09 08:29:01
  • PHP 正则判断中文UTF-8或GBK的思路及具体实现

    2024-06-05 09:49:00
  • js遍历详解(forEach, map, for, for...in, for...of)

    2024-04-29 13:20:06
  • Python+OpenCV实战之拖拽虚拟方块的实现

    2023-08-28 15:02:58
  • Python新手学习raise用法

    2021-01-08 22:37:52
  • Python中如何将一个类方法变为多个方法

    2022-10-10 02:01:47
  • asp之家 网络编程 m.aspxhome.com