- @[toc] 数组对象允许存储键值集合,这很好。但很多时候我们发现还需要 有序集合,里面的元素都是按顺序排列的。例如,我们可能需要存储一些列表,比如用户、商品以及 HTML 元素等。这里使用对象就不是很方便了,因为对象不能提供能够管理元素顺序的方法。我们不能在已有的元素“之间”插入一个新的属性。这种场景下对象就不太适用了。这时一个特殊的数据结构数组(Array)就派上用场了,它能存储有序的集... @[toc] 数组对象允许存储键值集合,这很好。但很多时候我们发现还需要 有序集合,里面的元素都是按顺序排列的。例如,我们可能需要存储一些列表,比如用户、商品以及 HTML 元素等。这里使用对象就不是很方便了,因为对象不能提供能够管理元素顺序的方法。我们不能在已有的元素“之间”插入一个新的属性。这种场景下对象就不太适用了。这时一个特殊的数据结构数组(Array)就派上用场了,它能存储有序的集...
- @[toc] 数组方法数组提供的方法有很多。为了方便起见,在本章中,我们将按组讲解。 添加/移除数组元素我们已经学了从数组的首端或尾端添加和删除元素的方法:arr.push(...items) —— 从尾端添加元素,arr.pop() —— 从尾端提取元素,arr.shift() —— 从首端提取元素,arr.unshift(...items) —— 从首端添加元素。这里还有其他几种方法。 ... @[toc] 数组方法数组提供的方法有很多。为了方便起见,在本章中,我们将按组讲解。 添加/移除数组元素我们已经学了从数组的首端或尾端添加和删除元素的方法:arr.push(...items) —— 从尾端添加元素,arr.pop() —— 从尾端提取元素,arr.shift() —— 从首端提取元素,arr.unshift(...items) —— 从首端添加元素。这里还有其他几种方法。 ...
- @[toc] Object.keys,values,entries对各个数据结构的学习至此告一段落,下面让我们讨论一下如何迭代它们。在前面的章节中,我们认识了 map.keys(),map.values() 和 map.entries() 方法。这些方法是通用的,有一个共同的约定来将它们用于各种数据结构。如果我们创建一个我们自己的数据结构,我们也应该实现这些方法。它们支持:MapSetArr... @[toc] Object.keys,values,entries对各个数据结构的学习至此告一段落,下面让我们讨论一下如何迭代它们。在前面的章节中,我们认识了 map.keys(),map.values() 和 map.entries() 方法。这些方法是通用的,有一个共同的约定来将它们用于各种数据结构。如果我们创建一个我们自己的数据结构,我们也应该实现这些方法。它们支持:MapSetArr...
- @[toc] 日期和时间让我们来学习一个新的内建对象:日期(Date)。该对象存储日期和时间,并提供了日期/时间的管理方法。我们可以使用它来存储创建/修改时间,测量时间,或者仅用来打印当前时间。 创建调用 new Date() 来创建一个新的 Date 对象。在调用时可以带有一些参数,如下所示:new Date()不带参数 —— 创建一个表示当前日期和时间的 Date 对象:let now ... @[toc] 日期和时间让我们来学习一个新的内建对象:日期(Date)。该对象存储日期和时间,并提供了日期/时间的管理方法。我们可以使用它来存储创建/修改时间,测量时间,或者仅用来打印当前时间。 创建调用 new Date() 来创建一个新的 Date 对象。在调用时可以带有一些参数,如下所示:new Date()不带参数 —— 创建一个表示当前日期和时间的 Date 对象:let now ...
- Rest 参数与 Spread 语法在 JavaScript 中,很多内建函数都支持传入任意数量的参数。例如:Math.max(arg1, arg2, ..., argN) —— 返回入参中的最大值。Object.assign(dest, src1, ..., srcN) —— 依次将属性从 src1..N 复制到 dest。……等。在本章中,我们将学习如何编程实现支持函数可传入任意数量的... Rest 参数与 Spread 语法在 JavaScript 中,很多内建函数都支持传入任意数量的参数。例如:Math.max(arg1, arg2, ..., argN) —— 返回入参中的最大值。Object.assign(dest, src1, ..., srcN) —— 依次将属性从 src1..N 复制到 dest。……等。在本章中,我们将学习如何编程实现支持函数可传入任意数量的...
- ⭐每日算法题解系列文章旨在精选重点与易错的算法题,总结常见的算法思路与可能出现的错误,与笔者另一系列文章有所区别,并不是以知识点的形式提升算法能力,而是以实战习题的形式理解算法,使用算法。🔥本文已收录于算法刷题系列专栏: 每日算法题解 欢迎订阅,持续更新。@[TOC] 33.最大公约数输入两个整数 a 和 b,请你编写一个函数,int gcd(int a, int b), 计算并输出 a... ⭐每日算法题解系列文章旨在精选重点与易错的算法题,总结常见的算法思路与可能出现的错误,与笔者另一系列文章有所区别,并不是以知识点的形式提升算法能力,而是以实战习题的形式理解算法,使用算法。🔥本文已收录于算法刷题系列专栏: 每日算法题解 欢迎订阅,持续更新。@[TOC] 33.最大公约数输入两个整数 a 和 b,请你编写一个函数,int gcd(int a, int b), 计算并输出 a...
- @TOC 1.KMP算法 1.概念KMP是一种改进的字符串匹配算法,该算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。 具体实现通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。 2.与BF(暴力算法)的的区别暴力算法:模拟实现strstr函数当信息匹配失败时,主串i不会回退,子串j也不会回到0号位置 3.分析 1.j的回退位置在下标为5... @TOC 1.KMP算法 1.概念KMP是一种改进的字符串匹配算法,该算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。 具体实现通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。 2.与BF(暴力算法)的的区别暴力算法:模拟实现strstr函数当信息匹配失败时,主串i不会回退,子串j也不会回到0号位置 3.分析 1.j的回退位置在下标为5...
- 前言通过前两篇的学习,想必你已经对Object.defineProperty()和对象的侦听有了一定的理解,现在就让我们来继续研究如何使用Object.defineProperty()来对数组进行数据劫持,以便我们能够侦听到数组的变化。 数据劫持(数组篇)首先新建一个: array.jsimport { def } from "./utils.js";//获取数组的原型const arra... 前言通过前两篇的学习,想必你已经对Object.defineProperty()和对象的侦听有了一定的理解,现在就让我们来继续研究如何使用Object.defineProperty()来对数组进行数据劫持,以便我们能够侦听到数组的变化。 数据劫持(数组篇)首先新建一个: array.jsimport { def } from "./utils.js";//获取数组的原型const arra...
- 使用QList时,进行删除某一项的操作,QList提供了两个移除的方法,一个是removeAt(),一个是takeAt()。总结一下这两个方法的区别。在使用QListWidget时,有时并不想只用QListWidgetItem作为我们的显示效果,需要将QListWidgetItem设置为我们自定义的一个Widget,并且需要进行添加和删除的操作。 使用QList时,进行删除某一项的操作,QList提供了两个移除的方法,一个是removeAt(),一个是takeAt()。总结一下这两个方法的区别。在使用QListWidget时,有时并不想只用QListWidgetItem作为我们的显示效果,需要将QListWidgetItem设置为我们自定义的一个Widget,并且需要进行添加和删除的操作。
- Java异常处理的五个关键字:try、catch、finally、throw、throws 🥗抛出异常throw在编写程序时,我们必须要考虑程序出现问题的情况。比如,在定义方法时,方法需要接受参数。那么,当调用方法使用接受到的参数时,首先需要先对参数数据进行合法的判断,数据若不合法,就应该告诉调用者,传递合法的数据进来。这时需要使用抛出异常的方式来告诉调用者。在java中,提供了一个thr... Java异常处理的五个关键字:try、catch、finally、throw、throws 🥗抛出异常throw在编写程序时,我们必须要考虑程序出现问题的情况。比如,在定义方法时,方法需要接受参数。那么,当调用方法使用接受到的参数时,首先需要先对参数数据进行合法的判断,数据若不合法,就应该告诉调用者,传递合法的数据进来。这时需要使用抛出异常的方式来告诉调用者。在java中,提供了一个thr...
- 算法基础(二)| 高精度算法详解⭐写在前面的话:本系列文章旨在复习算法刷题中常用的基础算法与数据结构,配以详细的图例解释,总结相应的代码模板,同时结合例题以达到最佳的学习效果。本专栏面向算法零基础但有一定的C++基础的学习者。若C++基础不牢固,可参考:10min快速回顾C++语法,进行语法复习。🔥本文已收录于算法基础系列专栏: 算法基础教程 免费订阅,持续更新。 高精度加法适用于c++... 算法基础(二)| 高精度算法详解⭐写在前面的话:本系列文章旨在复习算法刷题中常用的基础算法与数据结构,配以详细的图例解释,总结相应的代码模板,同时结合例题以达到最佳的学习效果。本专栏面向算法零基础但有一定的C++基础的学习者。若C++基础不牢固,可参考:10min快速回顾C++语法,进行语法复习。🔥本文已收录于算法基础系列专栏: 算法基础教程 免费订阅,持续更新。 高精度加法适用于c++...
- 各位小伙伴们大家好,欢迎来到这个小扎扎的《Java核心技术 卷Ⅰ》笔记专栏,在这个系列专栏中我将记录浅学这本书所得收获,鉴于 看到就是学到、学到就是赚到 精神,这波简直就是血赚 🛫 关于Set集合类你都知道什么? 我们将实现了Set接口的类称为是List集合类,List集合类中元素存储有一个特点:无序、不可重复,Set接口常用的有三个实现类:HashSet、linkedHashSet... 各位小伙伴们大家好,欢迎来到这个小扎扎的《Java核心技术 卷Ⅰ》笔记专栏,在这个系列专栏中我将记录浅学这本书所得收获,鉴于 看到就是学到、学到就是赚到 精神,这波简直就是血赚 🛫 关于Set集合类你都知道什么? 我们将实现了Set接口的类称为是List集合类,List集合类中元素存储有一个特点:无序、不可重复,Set接口常用的有三个实现类:HashSet、linkedHashSet...
- 各位小伙伴们大家好,欢迎来到这个小扎扎的《Java核心技术 卷Ⅰ》笔记专栏,在这个系列专栏中我将记录浅学这本书所得收获,鉴于 看到就是学到、学到就是赚到 精神,这波简直就是血赚 🛫 关于List集合类你都知道什么? 我们将实现了List接口的类称为是List集合类,List集合类中元素存储有一个特点:有序、可重复,List接口常用的有三个实现类:ArrayList、LinkedLis... 各位小伙伴们大家好,欢迎来到这个小扎扎的《Java核心技术 卷Ⅰ》笔记专栏,在这个系列专栏中我将记录浅学这本书所得收获,鉴于 看到就是学到、学到就是赚到 精神,这波简直就是血赚 🛫 关于List集合类你都知道什么? 我们将实现了List接口的类称为是List集合类,List集合类中元素存储有一个特点:有序、可重复,List接口常用的有三个实现类:ArrayList、LinkedLis...
- 让你的网页更加漂亮 让你的网页更加漂亮
- 各位小伙伴们大家好,欢迎来到这个小扎扎的《Java核心技术 卷Ⅰ》笔记专栏,在这个系列专栏中我将记录浅学这本书所得收获,鉴于 看到就是学到、学到就是赚到 精神,这波简直就是血赚 🛫 关于迭代器你都知道什么? 🪂 什么是迭代器? 所谓迭代的意思就是交换替代,迭代器并不是一种数据结构或者集合,而是可以过迭代器中的方法逐个访问集合中的每个元素的一种方法。提到迭代器最重要的就是Iterat... 各位小伙伴们大家好,欢迎来到这个小扎扎的《Java核心技术 卷Ⅰ》笔记专栏,在这个系列专栏中我将记录浅学这本书所得收获,鉴于 看到就是学到、学到就是赚到 精神,这波简直就是血赚 🛫 关于迭代器你都知道什么? 🪂 什么是迭代器? 所谓迭代的意思就是交换替代,迭代器并不是一种数据结构或者集合,而是可以过迭代器中的方法逐个访问集合中的每个元素的一种方法。提到迭代器最重要的就是Iterat...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢
2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考
2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本
2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签