快捷搜索:

js中哈希表的几种用法总结,总结两个Javascript的

作者: w88官方网站手机版  发布:2019-09-22

自个儿爱怜从最基础的开始和结果讲起,然后稳步深刻,高手可能要给点耐心啊。
先看三个最简便的运用。在底下的代码中,大家要求完毕三个功能,正是点击种种开关呈现相应的网站

复制代码 代码如下:

复制代码 代码如下:

<input type="button" value="百度" onclick="javascript:showUrl(this)"> 
<input type="button" value="Google" onclick="javascript:showUrl(this)"> 
<input type="button" value="微软" onclick="javascript:showUrl(this)"> 
<input type="button" value="博客园" onclick="javascript:showUrl(this)"> 
<input type="button" value="阿舜的博客" onclick="javascript:showUrl(this)">那么。怎么写那几个 showUrl函数呢? 小编想超过陆分之几人可能会如此写. 
<script type="text/javascript"> 
// by Go_Rush(阿舜)  from  
function showUrl(element){ 
    var url; 
    switch (element.value){ 
        case "百度":          url=""    ;break; 
        case "Google":         url=""    ;break; 
        case "微软":          url="; 
        case "博客园":          url=""    ;break; 
        case "阿舜的博客":  url="" ;break; 
        default:             url="" 
    } 
    alert(url) 

</script>

<html>
<head>
<script type="text/javascript">
// by Go_Rush(脚本之家)  from

如此写不太好,原因有二:
1.写太长,很麻烦,用if, switch 语句来写,假诺有一百个条件,那岂不要写玖21个语句
2.不低价维护和扩展,假诺急需常常变化,那个数据从数据库来如何是好,每变一下都要改程序的逻辑结构
对JavaScript相比有经验的程序员断定不会如此写,一般用数组来兑现。 能够是二维数组,也得以是双数组
1.双数组方法

var hash={
    "百度"            :"",
    "Google"        :"",
    "微软"            :"",
    "脚本之家"    :""
};

复制代码 代码如下:

function showUrl(element){    //使用哈稀对象
    alert(hash[element.value])
}
</script>

<script type="text/javascript"> 
// by Go_Rush(阿舜)  from  
var arrText=["百度","Google","微软","微博","阿舜的博客"]; 
var arrUrl=["] 
function showUrl(element){    //用双数组方法 
    var value=element.value; 
    for(var i=0;i<arrText.length;i ){ 
        if (arrText[i]===value) return alert(arrUrl[i]) 
    } 

</script> 

</head>
<body>
<form>
<input type="text" id="txt" />
<input type="button" value="测试" onclick="showUrl(document.getElementById('txt'));"/>
</form>
</body>
</html>

2. 二维数组方法

复制代码 代码如下:

复制代码 代码如下:

<script type="text/javascript"> 
// by Go_Rush(阿舜)  from  
var arr=[ 
    ["百度"            ,"], 
    ["Google"        ,"], 
    ["微软"            ,"], 
    ["博客园"        ,"], 
    ["阿舜的博客"    ,"] 
]; 
function showUrl(element){    //用二维数组方法 
    var value=element.value; 
    for(var i=0;i<arr.length;i ){ 
        if (arr[i][0]===value) return alert(arr[i][1]) 
    } 

</script> 

<script>
  var   ht   =  
  {  
      "c1"   :   {"UserID":"userc1","UserName":"usercc1"},  
      "c2"   :  {"UserID":"userc2","UserName":"usercc2"},  
      "c3"   :   {"UserID":"userc3","UserName":"usercc3"}
  };  

以上两种方法借用数组作为数据结构,完成了程序要求的意义,况且为后来的扩展,变动做好了尽量的策画
但是,效能呢? 每一回都要遍历数组,每一趟都要剖断。。。。
上边,笔者来介绍一种不用数组,不用循环遍历,也决不判别相比较的方法。
先来一段:

  alert(ht["c1"]["UserID"]);  
  alert(ht["c2"]["UserID"]);
</script>

复制代码 代码如下:

3

<script type="text/javascript"> 
// by Go_Rush(阿舜)  from  
var hash={ 
    "百度"            :"", 
    "Google"        :"", 
    "微软"            :"", 
    "博客园"        :"", 
    "阿舜的博客"    :"" 
}; 
function showUrl(element){    //使用哈稀对象 
    alert(hash[element.value]) 

</script> 

复制代码 代码如下:

观看未有,此前要用循环的,要用判别的函数,现在只要一行代码就OK了,何况扩充性如故最棒的。
倘令你对JavaScript相比较熟练,您肯定会对数组情有惟牵,因为它真的是一种十一分便利,应用特别布满的
数据结构,但是对于哈稀对象这么些青苹果,哪怕你只啃过它一口,你断定恒久不会遗忘它的甜蜜。
他当作一种数据结构,在好多场子可以简化编制程序,在海量数据最近,他的特性要远远超过数组。(这些在
本人后来的po文里面会提到的,请关切)
他当作一种对象,能够在JavaScript贯彻类,模拟面向对象编制程序。
 以上讲得非常轻便,仅作为抛砖引进,大家有意思味的能够在平复里面谈谈自身的选择经验啊。
临走在此以前再讲个例证----剖断上传的公文是不是为图像文件.

<script>
  var Arr =new Array({'s':'sss','aa':'www'},{'s1':'wwww','aa1':'ssss'});
   alert(Arr[0].s);
   alert(Arr[0].aa);
   alert(Arr[1].s1);
   alert(Arr[1].aa1);
</script>

[Ctrl A 全选 注:如需引进外界Js需刷新本事实践]

. 复制代码 代码如下: html head script type="text/javascript" // by Go_Rush(脚本之家) from var hash={ "百度" :"", "Google" :...

请当心足够set函数,当我们贯彻那些函数后,就足以像python同样使用会集对象了,是还是不是很实惠呢 

你或然感兴趣的篇章:

  • JavaScript编制程序开垦中的五个实用小手艺
  • JavaScript编制程序的拾二个实用小技术
  • 43个JavaScript编制程序注意事项、本事大全
  • 享用9点民用认为比较关键的javascript 编制程序才具

本文由www.w88985.com发布于w88官方网站手机版,转载请注明出处:js中哈希表的几种用法总结,总结两个Javascript的

关键词: www.w88985.c