`
tristan_wang
  • 浏览: 166195 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JS内部的字典形式

    博客分类:
  • HTML
阅读更多
JavaScript内部的数据组织形式用了太多的字典形式,对象可以用字典的形式来组织,甚至数组也是字典的形式,特意强调数组是因为数据不仅可以用数字作为下标,用字符串也可以作为下标
var stack = new Array();
stack["first"] = 3;
stack["second"] = "second";
stack["third"]  = new Date();


甚至在JavaScript中,数字下标会最终被转化为字符串形式的下标
同是,看出了不同类型的数据时可以组织到同一个数组中的

对于以字符串为下标的数组,访问其中的元素和遍历一般JSON形式对象的方式一样:
for(var item in stack){//也就是访问Map键
alert(stack[item]);
}
//////////////分割/////////////////////

上面的有些理论是错误的,下面:

我们已经提到过,对象是无序数据的集合,而数组则是有序数据的集合,数组中的数据(元素)通过索引(从0开始)来访问,
数组中的数据可以是任何的数据类型.数组本身仍旧是对象,但是由于数组的很多特性,通常情况下把数组和对象区别
开来分别对待(Throughout this book, objects and arrays are often treated as distinct datatypes.
This is a useful and reasonable simplification; you can treat objects and arrays as separate types
for most of your JavaScript programming.To fully understand the behavior of objects and arrays,
however, you have to know the truth: an array is nothing more than an object with a thin layer of extra
functionality. You can see this with the typeof operator: applied to an array value, it returns
the string "object".  --section7.5).
创建数组可以用"[]"操作符,或者是用Array()构造函数来new一个.


通过上面的解释,我们已经知道,对象的属性值是通过属性的名字(字符串类型)来获取,而数组的元素是通过索
引(整数型 0~~2**32-1)来得到值.数组本身也是一个对象,所以对象属性的操作也完全适合于数组.

Js代码 
var array = new Array("no1","no2");   
array["po"] = "props1";   
alert(array.length);   //2  说明字符串不是下标,而是数组对象的属性 
//对于数组来说,array[0]同array["0"]效果是一样的(?不确定,测试时如此)   
alert(array[0] + "_" + array["1"] + "_" + array.po);//no1_no2_props1 






///记录一个Array的方法sort
sort不带参数,是默认按字母顺序排序
sort带上参数,就是按照参数提供的比较器来排序,这点和java的集合框架的排序又很大的相似性,java的Collections.sort() 也提供了两种显示的参数列表,带比较器的和不带比较器的,不带比较器就按照自然顺序来排序。
static <T extends Comparable<? super T>> 
void 
 sort(List<T> list) 
          根据元素的自然顺序 对指定列表按升序进行排序。 
static <T> void 
 sort(List<T> list, Comparator<? super T> c) 
          根据指定比较器产生的顺序对指定列表进行排序。 


至于js中怎么组织这个代码,见下面的实例:
function comparator(a,b){
   return a-b;
}
var array = [10, 23, 44, 58, 106, 235];   
array.sort(sorter);   
print(array); 

分享到:
评论

相关推荐

    生成数据库字典的CodeSmith模板

    在本案例中,我们关注的是如何使用CodeSmith来生成数据库字典的网页模板,以便以框架形式展示数据库信息。 数据库字典是数据库管理系统中的一个重要组成部分,它详细记录了数据库中的所有对象,如表、视图、索引、...

    全国客运火车站名称及代码字典

    同时,代码通常用于内部处理,因为它比汉字更简洁,利于计算机快速识别和操作。 在插件设计中,比如浏览器插件或桌面小工具,用户可能需要查询火车站代码以方便购票或者跟踪列车信息。这样的字典数据能帮助插件快速...

    js压缩工具-好用/专业

    JavaScript(简称JS)是网页开发中的重要脚本语言,它为网页添加动态功能,提高用户体验。然而,未经压缩的JS代码通常包含大量的空格、注释和换行,这会增加文件大小,影响网页加载速度,特别是在移动设备上。因此,...

    Python基础教程:字典和Json.pdf

    在Python编程语言中,字典(Dictionary)是一种非常重要的数据结构,它以键值对的形式存储数据,提供了高效且灵活的数据访问方式。本教程将深入探讨Python中的字典以及与其相关的JSON格式。 **字典的基本概念** ...

    步步高字典_企业城微信小程序js代码前台前端H5页面源码.rar

    微信小程序是一种轻量级的应用形式,它不需要通过应用商店下载安装,用户可以直接在微信内部打开和使用。小程序的开发基于一套专有的框架,它结合了HTML、CSS和JavaScript,同时引入了特有的API和组件来增强功能和...

    css开发字典

    ### CSS开发字典知识点解析 #### 一、基础概念与属性 **Absolute(绝对定位)** - 绝对定位使元素相对于最近的非static定位的祖先元素进行定位。 - 使用`top`, `right`, `bottom`, 和 `left` 属性可以设定元素的...

    js分享PPT,公司内部培训用更新

    每个函数都有自己的作用域,其中包含函数内部定义的变量。 ```javascript function doSomething() { let localVar = "I'm local!"; console.log(localVar); } doSomething(); // "I'm local!" console.log...

    python字典快速保存于读取的方法

    在Python编程中,字典(Dictionary)是一种非常重要的数据结构,它以键值对的形式存储数据,便于快速查找和操作。在实际应用中,我们常常需要将字典的数据保存到文件中,以便后续读取、分析或跨程序共享。Python提供...

    步步高字典查询小程序源码.zip

    微信小程序是一种轻量级的应用形式,它不需要下载安装即可使用,由微信官方提供的一种开发框架。开发者可以使用JavaScript、WXML(Weixin Markup Language)和WXSS(Weixin Style Sheets)进行开发,这三种技术结合...

    JavaScript中实现键值对应的字典与哈希表结构的示例

    `表明这两个类是可以在Node.js或其他支持CommonJS模块的环境中导出的,其他文件可以使用`require`语句来引入这些字典和哈希表的实现。 总结 通过上述的示例,可以看出在JavaScript中实现字典和哈希表结构不仅可行...

    Redis介绍与内部实现机制PPT

    散列类型也是字典结构的一种形式,但其键值对中的值仅限于字符串类型。这种类型非常适合用于存储对象信息,如用户资料等。 **3. 列表类型** 列表类型可以存储有序的字符串列表。它支持从两端插入和删除元素,非常...

    js前端面试笔试题

    - **选项(c)** `eval`:执行字符串形式的JavaScript代码。 - **选项(d)** `setTimeout`:定时执行函数。 - **选项(e)** `alert`:显示警告框。 #### 三、IFrame与表格 **8. IFrame相关知识点** - **选项(a)** ...

    jqueryAPI jquery使用文档

    jQuery 是一款非常流行的JavaScript库,它极大地简化了JavaScript代码的编写,使得DOM操作、事件处理、动画制作以及Ajax交互变得更加容易。jQuery API 是开发者使用jQuery进行网页开发的重要参考资料,它提供了丰富...

    contains 和 Dictionary学习

    在许多编程语言中,字典是一种非常重要的数据结构,它以键值对的形式存储数据,提供快速访问、插入和删除功能。在本文中,我们将深入探讨`contains`方法以及在字典操作中的应用。 `contains`通常是一个函数,用于...

    全站简繁转换+demo+说明

    - `opencc`库内部包含了简体字和繁体字的对应关系,当接收到页面上的文本时,通过遍历每个字符,查找并替换对应的繁体或简体形式,从而实现转换。 2. **JavaScript实现**: - 在JavaScript中实现全站转换,通常...

    Javascript的使用

    - **预定义函数**:如`encodeURI()`用于URL编码,`decodeURI()`用于URL解码,`eval()`用于执行字符串形式的JavaScript代码。 - **自定义函数**:可以定义自己的函数来实现复杂逻辑。 - **数组方法**:现代JavaScript...

    python解析xmind的工具[xmindparser]

    字典(dict)是最常用的转换形式,因为它直观且灵活。每个主题及其子主题可以被映射为嵌套的字典结构,键值对对应于XMind元素的各种属性。例如,主题名作为键,其内容作为值。如果主题有子主题,那么子主题也会是一...

    对python中dict和json的区别详解

    总的来说,`dict`是Python的内部数据结构,方便在程序内部使用;而`json`是一种数据交换格式,适合在网络通信或持久化存储中使用。在两者之间转换时,需要借助`json`模块提供的方法。理解这些差异对于编写需要跨语言...

    09.Dictionary.A.hashing.Call-by-value

    在函数内部对形式参数的任何修改都不会影响实际参数。Call-by-value与“Call-by-reference”(引用传递)相对,后者传递的是参数的引用,因此在函数内部对参数的修改会影响到实际参数。 知识点五:词典(Dictionary...

    bootstrap select树形下拉框

    Bootstrap Select通过插件的形式将这两者融合,使得在网页中可以方便地创建具有树形结构的下拉菜单。 要使用Bootstrap Select树形下拉框,首先确保已经引入了Bootstrap和Bootstrap Select的CSS和JavaScript文件。...

Global site tag (gtag.js) - Google Analytics