js数组详解(二):关联数组以及将数组转为字符串的API

1. 关联数组:
   索引数组: 下标为数字的数组
   问题: 每个元素,只有值,没有有意义的名称
   解决: 关联数组: 可自定义下标名称的数组
   如何: 
      创建: 2步: 1. 先创建空数组: var scores=[]
                       2. 在空数组中添加新元素,使用自定义的下标名
                              scores[“MATH”]=81;
      访问元素: 用自定义的下标名称: 
            scores[“MATH”] 用法和普通变量完全一样 
   关联数组原理: 
       hash算法: 散列: 接收一个字符串,然后根据字符串计算出一个尽量不重复的数字。
           相同字符串,计算出的数字一定相同
           不同的字符串,计算出的数字几乎不同的
       关联数组: hash数组
          存入元素: 将下标名交给hash算法,计算出一个尽量不重复的序号,将元素存储到数组中序号指定的位置
          获取元素: 将下标名交给hash算法,计算出和存入时完全一样的序号,直接去数组中序号位置获取元素值——不用遍历
    为什么: 1. 因为下标有意义,便于维护
                 2. 查找极快——和总元素个数以及存储位置无关!
    何时: 1. 今后只要快速查找某个元素时,都用hash数组
             2. 今后只要存储有意义的一组元素时,都用hash数组
    鄙视: 谈谈对hash的理解: 
      hash算法; 存入;  获取;   优;

   特点: length属性失效,永远为0
   遍历: for in循环: 
      for(var key in hash){//in依次获得每个元素的下标名称
         key//自动获得当前元素的下标名
         hash[key]//当前元素值
      }

2. 数组API: 浏览器已经实现的,我们直接用的函数
    数组对象: 存储一组数据,提供操作数据的API
    1. 数组转为字符串: 2种:
        1. var str=String(arr): 将arr中每个元素转为字符串,再用逗号链接成一个字符串。
        2. 可自定义连接符: 
            var str=arr.join(“自定义连接符”)
            固定套路: 1. 无缝拼接: arr.join(“”)
                            2. 判断数组是空数组: arr.join(“”)===””
                            3. 动态生成页面元素的内容

    原文作者:有蝉
    原文地址: https://blog.csdn.net/qq_37899792/article/details/91042198
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞