JS数组,字典

JavaScript数组操作详解

JavaScript Array(数组)对象

    //有两种向数组赋值的方法(你可以添加任意多的值,就像你可以定义你需要的任意多的变量一样)。 var mycars=new Array()
    mycars[0]="Saab" mycars[1]="Volvo" mycars[2]="BMW"
    //也可以使用一个整数自变量来控制数组的容量: var mycars=new Array(3) mycars[0]="Saab"
    mycars[1]="Volvo" mycars[2]="BMW" var mycars=new Array("Saab","Volvo","BMW")
    //访问数组 document.write(mycars[0]) //修改已有数组中的值 mycars[0]="Opel";


创建一个二维数组

    var timing = new Array(); $(".zj-ul").each(function (i) { timing[i]
    = new Array(); timing[i][0] = i; timing[i][1] = 5; }); console.log(timing)


一个字典

        var dic = new Array();      
        dic["big"]   = "大";      
        dic["small"] = "小";        
        dic["even"]  = "单";        
        dic["odd"]   = "双"; 

        //字典的简化风格方式,注意它的类型就不是Array了,而是Json对象
        var dic3 = { "zs": "张三1", "ls": "李四1","ww": "王五1" };
        //遍历字典<
        var output = "";     
        for (var key in dic) {           
            if (output == "") {           
                output = dic[key];           
            } else {       
                output += "|" + dic[key];   
            }
        }   
        //alert(output);

        调用方式:
        dic["big"]或dic.big












<think>好的,用户想了解数组字典的定义、区别以及它们在编程中的应用。首先,我需要回忆数组字典的基本概念,确保定义准确。数组是线性数据结构,通过索引访问元素,而字典是键对的集合,通过唯一的键来访问。接下来,要比较两者的区别,包括存储方式、访问速度、有序性等。然后,应用场景方面,数组适合有序数据集合,字典适合需要快速查找的场景。需要引用提供的资料中的内容,比如用户提到的Shell数组用字符串索引模拟字典,以及JavaScript中数组的创建方法。还要注意用户提到的引用格式,在相关部分添加引用标识。最后,生成相关问题时要围绕定义、区别和应用展开,帮助用户进一步学习。检查是否有遗漏的点,确保回答结构清晰,符合用户要求的中文回答和LaTeX格式。</think>### 数组字典的定义、区别及应用 #### 一、定义 1. **数组** 数组是一种线性数据结构,通过**连续内存空间**存储相同类型的元素,通过**整型索引**访问元素。例如在JavaScript中: ```javascript var arrayObj = new Array(); // 创建空数组[^4] ``` Shell中数组支持字符串索引,可模拟字典结构[^2]: ```bash declare -A my_dict # 定义关联数组(类似字典) my_dict["name"]="Alice" ``` 2. **字典** 字典(又称映射、关联数组)由**键对**组成,通过**唯一键**快速访问。Python中的字典示例: ```python student = {"name": "Alice", "age": 20} ``` #### 二、核心区别 | 特性 | 数组 | 字典 | |--------------|-------------------------------|-------------------------------| | **访问方式** | 索引(整数或字符串[^2][^3]) | 键(唯一且哈希化) | | **存储结构** | 连续内存空间 | 散列表(非连续) | | **有序性** | 通常有序 | 无序(某些语言如Python 3.7+有序) | | **查找效率** | $O(1)$(索引访问) | $O(1)$(理想哈希表) | #### 三、应用场景 1. **数组的典型应用** - 数学计算:向量运算、矩阵存储 - 算法实现:快速排序的分区操作(如示例代码中的元素分组[^1]) - 数据缓存:需要顺序访问的场景(如日志记录) 2. **字典的典型应用** - 数据关联:用户信息存储(如ID到姓名的映射) - 缓存加速:键缓存系统(如Redis) - 统计计数:词频统计(键为单词,为出现次数) #### 四、扩展说明 - **Shell中的特殊实现**:通过字符串索引数组可模拟字典,例如`${my_dict["key"]}` - **内存效率**:数组因连续存储通常内存占用更优,字典因哈希表结构可能存在额外开销
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值