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

进一步理解javascript对象、数组和哈希表

阅读更多

在javascript中,对象实际上就是一个哈希表,比如下面这个user对象:

function user(n, a)
{
    this.name = n;
    this.age = a;
    this.toString = function() {
        return "Name:" + this.name + ", Age:" + this.age;
    }
}
var u = new user("tom", 18);
for (var k in u) {
    alert('key: ' + k + ', value:' + u[k]);
}

稍作改动,使用Array对象来代替对象:

var user = new Array();
user["name"]="tom";
user["age"]=18;
user["toString"]=function(){
	return "Name:" + this.name + ", Age:" + this.age;
}
alert(user.toString());

更简单的写法:

var u = {
	"name":"tom",
	"age":18
}
u.toString = function(){return 'Name:' + this.name + ', Age:' + this.age;};
alert(u.toString());

由以上这些代码可以看出:

  • 所有的javascript对象,包括Array对象在内实际上就是一个哈希表,属性名称就是哈希表的key,而属性的值就是哈希表的值。
  • Array对象与通常意义的数组对象并不相关,通常的数组仅能通过下标来定位,而javascript中的Array却可以像哈希表一个通过key来定位集合中的对象。
  • 可以将一个function直接作为值赋给对象的“哈希表”。
分享到:
评论

相关推荐

    在JavaScript中实现的算法和数据结构,并附有进一步阅读的解释和链接.zip

    - **哈希表**:哈希表提供快速的查找和插入操作,JavaScript对象实质上就是一个简单的哈希表。 - **树结构**:如二叉树、平衡二叉树(AVL树、红黑树)、堆(最大堆、最小堆)等,这些在JavaScript中常用于解决各种...

    从 0 到 1 学习 JavaScript 数据结构与算法.zip

    JavaScript中,可以用对象数组或者邻接矩阵来表示图。 9. **排序算法**:包括冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等,它们是解决问题时优化数据的重要工具。 10. **查找算法**:如线性查找...

    js代码-对象型数组分组算法

    在JavaScript中,处理数据结构是常见的...通过遍历数组并使用哈希表(对象)来存储分组结果,我们可以快速地将数据按特定属性组织起来。在分析和理解`main.js`时,应关注其对数据结构的操作以及任何可能的扩展功能。

    JavaScript讲解了数据结构和算法.zip

    例如,使用哈希表(JavaScript中的对象)进行查找通常比线性搜索更快;在需要频繁插入和删除的场景下,链表比数组更合适。 5. **实战应用** 数据结构和算法在实际项目中扮演重要角色,如前端路由管理(URL的解析和...

    js中的数据结构操作.zip

    例如,如果需要快速查找元素,哈希表(如JavaScript的对象或Map)是很好的选择;如果要按顺序遍历元素,数组会更合适。因此,理解并灵活运用这些数据结构是提升编程技能的关键。通过深入学习和实践ljg_resource1提供...

    JavaScript银行后台信息订单管里平台,暂时只开了添加信息和查看信息

    例如,可以使用哈希表(JavaScript的对象)快速查找和更新特定订单,或者使用数组的排序方法对订单进行排序。 "订单管理"则涵盖了订单的状态跟踪、查询、筛选等功能。这需要JavaScript具备处理复杂逻辑的能力,如...

    leetcode答案解析

    - **哈希表**:JavaScript对象可以作为简单的哈希表使用,这对于查找和映射问题非常有用。 5. **代码解析** 对于每一道题目的解答,理解其代码逻辑至关重要。从代码中,我们可以学习如何分析问题、设计算法、优化...

    JS算法 数据结构 精华集.zip

    哈希表则提供快速查找,常用于实现JavaScript对象。 接着,我们讨论算法。算法是一系列解决问题的步骤,分为排序、搜索、图算法、动态规划等类别。排序算法包括冒泡排序、选择排序、插入排序、快速排序、归并排序等...

    高性能JavaScript和构建高性能WEB站点PDF电子书

    例如,使用哈希表替代数组进行查找,或者优化循环结构以减少计算量。 4. **异步编程**:非阻塞的异步编程是现代JavaScript的重要特性,它能够避免页面冻结。书中会讨论回调函数、Promise、async/await等异步处理...

    包含了多种基于JavaScript的算法与数据结构

    - **哈希表**:通过键值对进行数据存储,查找速度快,常用于实现对象的快速查找和存储。 - **树**:如二叉树、二叉搜索树、平衡树(AVL树、红黑树)等,用于组织和检索数据。 - **图**:节点和边的集合,用于表示...

    JavaScript数据结构和算法:学习算法的集合使用JavaScript

    5. 哈希表:通过键值对存储数据,提供快速查找、添加和删除操作,利用了JavaScript对象的特性。 6. 树:分层结构,每个节点可能有零个或多个子节点,如二叉树、红黑树等,常用于搜索和排序。 7. 图:由节点和边组成...

    android解析JSON数据详解借鉴.pdf

    键值对是无序的集合,类似于哈希表或关联数组,而数组则是有序的数据列表。 在Android平台中,JSON数据的解析通常依赖于Android SDK提供的`JSONObject`和`JSONArray`两个核心类。`JSONObject`代表一个键值对的集合...

    javascript中文转拼音(转载)

    这通常涉及到字符串处理和搜索算法,例如哈希表快速查找。 4. **处理多音字**:有些汉字有多个读音,这需要根据上下文来确定正确的拼音。有些库会提供一种机制来处理这种情况,例如提供一个选项列表供用户选择或...

    javascript-interview:关于用JavaScript实现的数据结构和算法的注释和资源的集合

    例如,数组可以模拟栈和队列,对象则能创建简单的哈希表。理解不同数据结构的特性(如时间复杂度、空间复杂度)以及它们在特定问题中的应用至关重要。 算法是解决问题或执行任务的步骤序列。JavaScript中的算法包括...

    JavaScript 10分钟速成 (js-in-ten-minutes)

    7. **对象** - 如`{foo:'bar', bif:[1,2]}`,本质上是哈希表。总是被装箱,并且是`Object`的实例。 #### 函数 JavaScript中的函数具有多种独特的行为: - **不定参数行为**:函数可以接受任意数量的参数,这使得...

    DataStructureJS

    在JavaScript中,可以用对象表示节点,使用数组或哈希表存储相邻节点的引用,实现图的遍历和查找。 8. 堆(Heap) 堆是一种特殊的树形数据结构,满足最大堆或最小堆性质,即父节点的值总是大于或小于其子节点的值。...

    Leetcode-Algorithms

    7. **图**:图的表示通常用邻接矩阵或邻接表,JavaScript中可以使用二维数组或对象数组来实现。图的遍历和查找问题,如BFS(广度优先搜索)和DFS(深度优先搜索),可以通过队列或栈来辅助完成。 8. **回溯**:回溯...

    data-structure:JavaScript中的数据结构

    JavaScript对象本质上就是哈希表,通过键来访问对应的值。哈希表适用于大量数据的查找,尤其是当键是唯一且不可变时。 6. 集合(Set) ES6引入了Set数据结构,类似于数组但成员的值都是唯一的,没有重复的值。Set...

    关于json的一些教程

    这种结构在不同语言中被称为对象(object)、记录(record)、结构体(struct)、字典(dictionary)、哈希表(hashtable)、键值列表(keyed list)或关联数组(associative array)。 - 值的有序列表(An ordered...

    数据结构和编译原理书籍

    哈希表提供快速查找功能,常用于实现关联数组;堆通常用于优先队列,如最大堆和最小堆;B树是一种自平衡的多路搜索树,适合大量数据的存储;Trie树,又称字典树,是用于字符串查找的高效数据结构。 其次,编译原理...

Global site tag (gtag.js) - Google Analytics