JavaScript数据结构之Map
映射(Map)是 ECMAScript 6 规范中引入的一种数据结构。这是一种存储键值对列表很方便的方法,类似于其他编程语言中的词典或者哈希表。常用的 Map 方法有:赋值 set(key, value) 、获取 get(key) 、移除指定键名及其对应的值 delete(key) 、判断是否存在 has(key) 、 获取所有值 values() 、key/value 迭代器 entries()、清空所有键/值对 clear() 等。
映射(Map)是 ECMAScript 6 规范中引入的一种数据结构。这是一种存储键值对列表很方便的方法,类似于其他编程语言中的词典或者哈希表。常用的 Map 方法有:赋值 set(key, value) 、获取 get(key) 、移除指定键名及其对应的值 delete(key) 、判断是否存在 has(key) 、 获取所有值 values() 、key/value 迭代器 entries()、清空所有键/值对 clear() 等。
Object 和 Map 都是键值对的动态集合,关于Map其他方面的介绍可以阅读《Map映射》,从这个定义开始,它们非常相似,但之间还是存在一定的差异,本文就来总结一下主要的 6 个差异点。
.map() 函数是 JavaScript 数组结构中很实用的一个方法之一,更多可以参阅《JavaScript 数据结构之 Array》。本文主要介绍一下.map() 函数常用的场景,其通过调用回调函数创建一个新数组。该函数访问调用数组中的每个元素。
上一篇谈到元宇宙设想了一个由虚拟世界和3D技术广泛应用重塑的未来。Three.js 是一个非常令人印象深刻的 JavaScript 3D 库,它也使用 WebGL(或 2d Canvas)进行渲染。本文主要是介绍一些使用 Three.js 时的辅助工具,没有必要全部使用,但它们有时对项目开发非常有用。
面向对象编程语言中的 private 关键字是一个访问修饰符,可用于使属性和方法只能在声明的类中访问。这使得隐藏底层逻辑变得容易,这些底层逻辑应该被隐藏起来,并且不应该与类的外部交互。
.forEach() 方法被认为是 JavaScript 中的高阶函数,其工作方式是为列表中的每个元素传入当前元素、索引和列表(正在循环的整个数组),用更专业的术语来说就是对于迭代器的每次调用,函数都会接收三个参数(元素、索引、列表)调用。
作为一门主流的WEB编程语言,JavaScript 不断发展,添加新的语法、功能或抽象,帮助开发人员轻松解决复杂的问题。如数组展平过去需要自己编写方法来实现,而从 ES2019 中开始引入了一种扁平化数组的新方法,可以展平任何深度的数组,这个方法就是 flat() 。而说起 flat() 的方法,就不得不顺便说下 flatMap()。
JavaScript 提供了大量不同的处理数组的方法,这里花几分钟时间介绍 10 个项目中可以用到的数组方法:map、filter、find、findIndex、forEach、every、some、reduce
slice() 方法将数组部分的副本返回到新的数组对象中。这个对象是从 start 到 end 选择的。需要注意的是,此方法不会修改原始数组。此外,如果向其中一个数组添加新元素,则另一个数组不会受到影响。
IDE 是集成开发环境,为代码开发、测试和调试功能提供用户界面。它有助于组织与软件应用程序源代码相关的项目工件。它提供了多种工具和功能,使开发变得简单并基于开发人员编写代码的编程语言进行标准化。
在HTML5之前,应用程序数据只能存储在 cookie 中,并且会包含在每个服务器请求中。与 cookie 不同,浏览器本地存储限制要大得多(至少5MB),并且信息不会被传输到服务器。本文将要介绍的本地存储包括:localStorage 、cookie。
数据不变性在编程语言中一直非常重要,在 JavaScript 中也是如此。在这里,有两种 JavaScript 方法可以部分保证不变性:Object.freeze 和 Object.seal。本文来总结一下这两个方法都可以用来做什么?都有什么区别?存在什么不足之处?
从 JavaScript 数组中删除空元素看似很简单,由于 JavaScript 的语言的特殊性,对于空的理解有不同意义。在本文中,将通过如何从 JavaScript 数组中删除空元素,总结一下 JavaScript 中空值和假值的知识点。
过去陆陆续续总结了一些有助项目开发效率和开发技能的代码片段,一方面加深对 Javascript 语法的理解,一方面对代码进行归档。本文总结一些项目开发中用得上的使用方法及代码整洁的技巧。
性能优化是应用程序开发必须的工作之一,其目的之一为用户提供极致的速度体验,本文总结 WEB 应用或者网站可以快速实操的经验。
全屏 UI 设计有助于通过消除干扰来保持用户与内容的专注互动。因此,可以看到在现代 Web 应用程序中越来越多地使用全屏 UI,这都得益于浏览器的发展。在过去Web 应用要支持丝滑全屏还是有一定的复杂度,如借助 Flash 等等。在本文中,通过一个简单的全屏功能来展示 JavaScript 全屏 API 功能的使用。
FullScreen API允许页面上的一个元素有一个全屏视图,通常情况下,会在不同的图形或媒体资源(例如视频或图像)中看到这一点,但实际上可以让页面上的任何元素都具有全屏视图。 FullScreen API 目前在 Chrome、Firefox、Opera 和 Edge 中得到很好的支持。
在 JavaScript 中关于空值的定义会应项目的不同而不同,通常在与后台接口对接的时候,判断数据是否存在需要判断空字符串 ""、null、undefined。
Promise.allSettled(promises) ,返回一个在所有给定的 promise 都已经 fulfilled 或 rejected 后的 promise ,并带有一个对象数组,每个对象表示对应的promise 结果
Promise.race(promises) ,顾名思义就是赛跑的意思,Promise.race([p1, p2, p3]) 里面 promise 数组那个执行完成得快就获取那个的结果,不管结果本身是成功履行状态还是失败拒绝状态,只输出最快的 promise