当前位置: 首页 > news >正文

ES10(2019)、ES11(2020) 新增特性(八)

目录

ES10(2019)

Array.flat()

Array.flatMap()

String.trimStart()和String.trimEnd()

Symbol.prototype.description

Object.fromEntries() 

ES11(2020) 

Nullish coalescing Operator【空值运算符】

 可选链(Optional Chaining)

Promise.allSettled 

import()动态加载函数

新基本数据类型BigInt

globalThis

String.prototype.matchAll()


ES10(2019)

Array.flat()

 array.flat()方法接受一个可选的参数,该参数指定要展平的深度。如果不提供参数,默认深度为1,意味着它只会展平一层嵌套数组。如果该参数为Infinity,则将数组完全展开(为一维数组)。

语法:array.flat(num)

参数:num指定要展平的深度(可选参数),默认情况下,深度为 1

返回值:返回一个新数组,其中包含原数组及其所有子数组的元素。

const arr = [[1, 2], , [3, 4], 5];
console.log(arr.flat()); // [ 1, 2, 3, 4, 5 ]const array = [1, [2, [3, 4]], 5];
console.log(arr.flat(2); // 深度为2,结果为 [1, 2, 3, 4, 5]const arrVeryDeep = [[1, [2, 2, [3, [4, [5, [6]]]]], 1]];
console.log(arrVeryDeep.flat(Infinity)); // [ 1, 2, 2, 3, 4, 5, 6, 1 ]

Array.flatMap()

array.flatMap() 函数接受一个回调函数作为参数,并返回一个新的映射数组

语法:【array.flatMap()方法接受一个映射函数作为参数,该函数定义了如何转换数组中的每个元素。】

返回值:返回一个新数组,其中包含映射函数返回的每个数组的展平元素。

用途:

array.flatMap()方法不仅将嵌套数组展平,还允许你指定一个映射函数来转换数组中的每个元素,然后再进行展平。

array.flatMap()在你需要在展平数组的同时对数组元素进行某种转换时非常有用。例如,当你需要将每个元素复制或转换为另一种形式时。

const numbers = [1, 2, 3, 4];
const flatMappedArray = numbers.flatMap(num => [num, num * 2]); // 结果为 [1, 2, 2, 4, 3, 6, 4, 8]

映射与展平 

array.flat()仅负责展平数组,不涉及元素的转换;array.flatMap()结合了映射和展平,允许你在展平之前对元素进行转换。

这里就有点像array.map + array.flat() - 超过1层的展平 = array.flatMap()。这个方法的语义化很明显,但是也可以通过嵌套的使用来实现基于array.flatMap()的映射和高维展平。

// flatMap中嵌套flat来实现复杂的展平const complexArray = [{ strings: ['a', 'b'], numbers: [1, 2] },{ strings: ['c', 'd'], numbers: [3, 4] }
];const result = complexArray.flatMap(obj => {// 首先,使用flatMap映射每个字符串到一个包含字符串和对应数字的数组return obj.strings.flatMap(str => {// 然后,再次使用flatMap映射每个数字到一个包含字符串和数字的数组return obj.numbers.map(num => [str, num]);});
}).flat(Infinity); // 使用Infinity确保所有层级都被展平console.log(result);// 结果为:['a', 1, 'a', 2, 'b', 1, 'b', 2,'c', 3, 'c', 4, 'd', 3, 'd', 4
]

String.trimStart()和String.trimEnd()

String.trim()         //去除字符串前后端空格【以前就有的方法】

String.trimStart() //去除字符前空格

String.trimEnd()  //去除字符后空格

注:三个方法都是从原始字符串中返回一个新字符串,不会更改原始字符串

const str = '   JavaScript   ';
const result = str.trimStart();console.log({ str });        //{ str: '   JavaScript   ' }
console.log({ result });     //{ result: 'JavaScript   ' }const str = '   JavaScript   ';
const result = str.trimEnd();console.log({ str });        //{ str: '   JavaScript   ' }
console.log({ result });     //{ result: '   JavaScript' }

Symbol.prototype.description

Symbol.prototype.descriptionSymbol对象的一个属性,用于获取Symbol值的描述。每个 Symbol 值都有一个与之关联的描述字符串,这个描述字符串可以通过description属性来获取。

描述字符串的作用】描述字符串主要用于在控制台输出时提供更多的信息,帮助区分不同的 Symbol 值。当 Symbol 对象被转换为字符串时,会包含其描述信息,这使得在调试时更容易识别不同的 Symbol 值‌

const sym = Symbol('foo');
console.log(sym.description); // 输出: "foo"

Object.fromEntries() 

Object.fromEntries()方法把键值对列表转换为一个对象。

语法Object.fromEntries(iterable)

参数】iterable,类似 Array 、Map 或者其他实现了可迭代协议的可迭代对象。

返回值】一个由该迭代对象条目提供对应属性的新对象。

Object.fromEntries()方法接收一个键值对的列表参数,并返回一个带有这些键值对的新对象。这个迭代参数应该是一个能够实现 @@iterable方案的对象,返回一个迭代器对象。它生成一个具有两个元素的类数组的对象,第一个元素是将用作属性键的值,第二个元素是与该属性键关联的值。

注:Object.fromEntries() 和 Object.entries() 是互逆的操作。

常用实例应用

1、Map转化为 Object通过 Object.fromEntries(), 可以将 Map转换为 Object

2、Array 转化为 Object通过 Object.fromEntries(), 可以将 Array 转换为 Object

ES11(2020) 

Nullish coalescing Operator【空值运算符】

空运算符Nullish Coalescing Operator操作符:??。是JavaScript ES2020引入的一个新运算符,是一个相对新的特性,用于处理null和undefined值。这个运算符提供了一种简洁的方式来指定默认值,当变量为null或undefined时,可以自动使用提供的默认值。本文将详细介绍空运算符的基本概念、作用、使用场景以及一些实用的代码示例。

语法let result = variable ?? defaultValue;

参数variable :要检查的变量;defaultValue:如果variable 为null或undefined,则返回的默认值

返回值】一个由该迭代对象条目提供对应属性的新对象。

与逻辑或运算符的区别

在空运算符引入之前,开发人员通常使用逻辑或运算符(||)来提供默认值。但是,逻辑或运算符会将任何“假值”(如0''false等)都视为false,这可能会导致意外的结果。空运算符只会在变量为nullundefined时才返回默认值,因此更加精确。 

let value = null;
let result1 = value || 'default'; // 结果是 'default'
let result2 = value ?? 'default'; // 结果也是 'default'value = 0;
result1 = value || 'default'; // 结果是 'default',因为0被视为假值
result2 = value ?? 'default'; // 结果是 0,因为0不是null或undefined

 可选链(Optional Chaining)

可选链操作符 ?.允许你读取位于连接对象链深处的属性,而不必显式地验证链中的每一环是否有效。如果链中的某一环是 null 或 undefined表达式短路返回 undefined 而不是抛出错误。

语法obj?.property    obj?.[method]()

  • 如果 object 存在且不为 null 或 undefined,则返回 object.property 的值。
  • 如果 object 为 null 或 undefined,则返回 undefined,而不会抛出错误。
const user = {name: 'liming',details: { age: 18 }
};// 使用可选链访问 user.details.age
console.log(user.details?.age); // 输出:18 // 如果 details 为 null 或 undefined,不会抛出错误
const userWithoutDetails = {name: 'liming'
};console.log(userWithoutDetails.details?.age); // 输出:undefined

Promise.allSettled 

Promise.allSettled ‌
‌是一个用于并行执行多个异步操作并收集所有结果的方法。它接受一个promise数组作为参数,返回一个promise对象,该对象在所有输入的promise都已fulfilled或rejected后解析。当所有的 Promise 都已完成(无论是成功还是失败)时,返回的 Promise 将被解决(resolved)。返回的结果是一个数组,数组中的每个元素都是一个对象,表示每个 Promise 的结果。

与Promise.allPromise.all不同,Promise.allSettled返回的promise永远不会rejected,无论输入的promise中是否有失败的。 

  • 等待所有 Promise 都完成(无论是成功还是失败)。
  • 返回的结果数组包含每个 Promise 的状态和结果。
const promises = [Promise.resolve(1),Promise.reject('error'),Promise.resolve(3)
];Promise.allSettled(promises).then((results) => {results.forEach((result) => {if (result.status === 'fulfilled') {console.log('Fulfilled:', result.value);} else {console.log('Rejected:', result.reason);}});
});// 输出结果:
Fulfilled: 1
Rejected: error
Fulfilled: 3

适用场景 

Promise.allSettled 适用于需要等待所有异步操作完成后再进行下一步操作的场景,无论这些操作是成功还是失败。例如,批量处理多个 API 请求,并在所有请求完成后统一处理结果。 

import()动态加载函数

ES11 引入 import() 函数,支持动态加载模块。参数即所要加载的模块的位置,返回值是一个 Promise 对象。可以使用 .then 和 .catch 方法进行数据处理。当模块加载成功后,该模块会作为一个对象,可以通过对象解构赋值语法获取输出接口。此外,‌import()‌ 可以配合 ‌Promise.all‌ 方法同时加载多个模块,并且可以放在任何地方,因为它是在运行时执行的。‌

使用场景

按需加载‌:在Vue项目中,可以使用 ‌import()‌ 实现路由的按需加载,从而提高应用性能。

//vue项目路由按需加载
{path:'/document'name:'document'component:()=>import(../document/index.vue) 
}//模块的按需加载
btn.click=function(){import('../document').then(fn=>{...})
}

条件加载‌:在需要时动态加载模块,

//条件加载
if(true){return import('./document/info').then(msg=>{//加载内容}).catch(err=>{//error codo})
}

新基本数据类型BigInt

BigInt 是ES11引入的新的基本数据类型。BigInt 数据类型的目的是比Number数据类型支持的范围更大的整数值,以任意精度表示整数。使用 Number解决了之前Number整数溢出的问题。

创建和使用BigInt

BigInt可以通过在整数字面量后添加n后缀来创建,例如let n = 12345678901234567890n;。此外,还可以使用BigInt()函数将普通整数或字符串转换为BigInt类型。需要注意的是,BigInt()函数只能接受整数或可转换为整数的字符串作为参数,否则会抛出错误。

globalThis

globalThis是在 ECMAScript 2020 (ES11) 中标准化的,得到了广泛的标准化支持。它可以在所有现代 JavaScript 环境中使用,包括浏览器、Web Worker、Node.js 等

注:globalThis在不同环境下的所指

  • 浏览器:window
  • worker:self
  • node:global

global和globalThis适用范围:

global

  • 环境限制:global 仅在 Node.js 环境中有效。
  • 兼容性:由于 global 是 Node.js 特有的,因此在非 Node.js 环境中(如浏览器)使用 global 会导致错误。

globalThis

  • 广泛适用:globalThis 是在 ECMAScript 2020 (ES11) 中标准化的,得到了广泛的标准化支持。它可以在所有现代 JavaScript 环境中使用,包括浏览器、Web Worker、Node.js 等。
  • 一致性:使用 globalThis 可以确保代码在不同环境中的一致性和可移植性。
globalThis.myGlobalVar = "Hello from globalThis!";  
console.log(globalThis.myGlobalVar); // 在浏览器和 Node.js 中都会输出: Hello from globalThis!

String.prototype.matchAll()

matchAll()是ES2020的新特性,对于处理复杂正则表达式和捕获组特别有用,但需要全局标志且在某些旧版浏览器中可能需polyfill支持

使用matchAll()方法时,需要提供一个正则表达式作为参数。如果正则表达式包含全局标志gmatchAll()会返回一个迭代器,包含所有匹配的结果;如果不包含g标志,则只会返回第一个匹配的结果。

const str = 'foo bar baz';
const regex = /foo/g;
const iterator = str.matchAll(regex);for (const match of iterator) {console.log(match);
}// 这段代码会输出所有匹配foo的结果。

 上一章:ES9(2018)新增特性(七)


 

相关文章:

ES10(2019)、ES11(2020) 新增特性(八)

目录 ES10(2019) Array.flat() Array.flatMap() String.trimStart()和String.trimEnd() Symbol.prototype.description Object.fromEntries() ES11(2020) Nullish coalescing Operator【空值运算符】 可选链&#xff08…...

利用MQ自动取消未支付超时订单最佳实践

一、利用MQ自动取消未支付超时订单最佳实践 1、基于 RocketMQ 延迟消息 1.1:延迟消息 当消息写入到 Broker 后,不会立刻被消费者消费,需要等待指定的时长后才可被消费处理的消息,称为延时消息。 1.2:实现流程 &am…...

1-003:MySQL 的索引类型有哪些?

MySQL 中的索引类型主要分为以下几类,每种索引都有不同的适用场景和优化查询的作用: 1. 按存储结构分类 ① 聚簇索引(Clustered Index) 特点: InnoDB 引擎的 主键索引 就是 聚簇索引。数据与索引存储在一起&#xff…...

php虚拟站点提示No input file specified时的问题及权限处理方法

访问站点,提示如下 No input file specified. 可能是文件权限有问题,也可能是“.user.ini”文件路径没有配置对,最简单的办法就是直接将它删除掉,还有就是将它设置正确 #配置成自己服务器上正确的路径 open_basedir/mnt/qiy/te…...

Unity UGUI下实现精确点击的一种方式

比如有这样一个情况,UI的显示区域是个圆形,在点击的时候也需要精确点击到这个圆形显示区域,但是UI元素的RectTransform是个矩形 1. 使用脚本修改 2. 原理探究 此脚本继承了Image组件,但是获取了自身的Collider2D,目…...

元宇宙崛起:区块链与金融科技共绘数字新世界

文章目录 一、引言二、元宇宙与区块链的深度融合三、区块链在元宇宙金融中的应用四、金融科技在元宇宙中的创新应用五、面临的挑战与机遇《区块链与金融科技》亮点内容简介获取方式 一、引言 随着科技的飞速发展,元宇宙概念逐渐走进人们的视野,成为数字…...

postgresql14编译安装脚本

#!/bin/bash####################################readme################################### #先上传postgresql源码包,再配置yum源,然后执行脚本 #备份官方yum源配置文件: #cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS…...

警惕AI神话破灭:深度解析大模型缺陷与禁用场景指南

摘要 当前AI大模型虽展现强大能力,但其本质缺陷可能引发系统性风险。本文从认知鸿沟、数据困境、伦理雷区、技术瓶颈四大维度剖析大模型局限性,揭示医疗诊断、法律决策等8类禁用场景,提出可信AI建设框架与用户防护策略。通过理论分析与实操案…...

1分钟看懂React的那些Hook‘s

一、useEffect的五指山 1.执行时机:组件初始化,组件更新(组件内state变化) useEffect(() > {}) 2.执行时机:组件初始化 useEffect(() > {},[]) 3.执行时机:组件初始化,依赖的状态发生变化&#xf…...

聚焦两会:科技与发展并进,赛逸展2025成创新新舞台

在十四届全国人大三次会议和全国政协十四届三次会议期间,代表委员们围绕多个关键议题展开深入讨论,为国家未来发展谋篇布局。其中,技术竞争加剧与经济转型需求成为两会焦点,将在首都北京举办的2025第七届亚洲消费电子技术贸易展&a…...

深入C语言:指针与数组的经典笔试题剖析

1. sizeof和strlen的对比 1.1 sizeof sizeof 是C语言中的一个操作符&#xff0c;用于计算变量或数据类型所占内存空间的大小&#xff0c;单位是字节。它不关心内存中存储的具体数据内容&#xff0c;只关注内存空间的大小。 #include <stdio.h> int main() {int a 10;…...

⚡ 回声谷即时通讯系统

基于SpringBootVue3的实时通信解决方案 &#x1f31f; 核心特性 #mermaid-svg-uxEwEcjlUVI6Tjjf {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-uxEwEcjlUVI6Tjjf .error-icon{fill:#552222;}#mermaid-svg-uxEwEcjl…...

实验题目:授权及收回授权、约束、触发器

一、实验环境 实验使用普通PC机一台&#xff0c;MySQL数据库版本8.0.36&#xff0c;使用Navicat Premium 16提供图形化界面。 二、实验内容 1、数据库的账号、用户的建立、删除以及授权机制 2、数据库中数据完整性约束控制技术 3、触发器 三、具体完成情况&#xff08;提…...

Spark(8)配置Hadoop集群环境-使用脚本命令实现集群文件同步

一.hadoop的运行模式 二.scp命令————基本使用 三.scp命令———拓展使用 四.rsync远程同步 五.xsync脚本集群之间的同步 一.hadoop的运行模式 hadoop一共有如下三种运行方式&#xff1a; 1. 本地运行。数据存储在linux本地&#xff0c;测试偶尔用一下。我们上一节课使用…...

c#中使用时间戳转换器

在C#中,时间戳转换器通常用于将时间戳(通常是一个表示自某一特定时间点(如1970年1月1日UTC)以来的毫秒数的长整型值)转换为DateTime对象,或者将DateTime对象转换回时间戳。以下是几种实现这一功能的方法: 1. 使用DateTime的构造函数 将时间戳转换为DateTime long tim…...

LLM中的transformer结构学习(二 完结 Multi-Head Attention、Encoder、Decoder)

文章目录 LLM中的transformer结构学习&#xff08;二 完结 Multi-Head Attention、Encoder、Decoder&#xff09;Self-Attention &#xff08;自注意力机制&#xff09;结构多头注意力 EncoderAdd & Norm 层Feed Forward 层 EncoderDecoder的第一个Multi-Head AttentionMas…...

FreeSWITCH 之 chat

要把 FreeSWITCH 之 chat 完全研究清楚&#xff0c;似乎不容易 发送&#xff0c;路由&#xff0c;接收 跟哪些模块有关 等等 咱一边查资料&#xff0c;一边整理&#xff0c;不着急 先看看 Kamalio 怎么发 MESSAGE loadmodule "uac.so"route[uac_send_message] {…...

本地fake server,

C# 制作的系统级tcp 重定向&#xff0c;整个系统只要有访问指定url&#xff0c;返回自定义内容到访问端。不局限在浏览器单一方面。 再者请理解这个图的含金量&#xff0c;服务器down机都可以模拟。 用途那就太多了&#xff0c;当然很多用途都不正当。嘿嘿 如果你很想要源代…...

用Deepseek写一个 HTML 和 JavaScript 实现一个简单的飞机游戏

大家好&#xff01;今天我将分享如何使用 HTML 和 JavaScript 编写一个简单的飞机游戏。这个游戏的核心功能包括&#xff1a;控制飞机移动、发射子弹、敌机生成、碰撞检测和得分统计。代码简洁易懂&#xff0c;适合初学者学习和实践。 游戏功能概述 玩家控制&#xff1a;使用键…...

解析 SQL,就用 sqlparse!

文章目录 解析 SQL&#xff0c;就用 sqlparse&#xff01;一、背景&#xff1a;为什么你需要 sqlparse&#xff1f;二、什么是 sqlparse&#xff1f;三、如何安装 sqlparse&#xff1f;四、简单易用的库函数1\. parse(sql)2\. format(sql, **options)3\. split(sql)4\. get_typ…...

Flask 全栈学习指南

一、Flask 基础核心 1. 核心概念与启动流程 WSGI 与 Werkzeug Flask 基于 Werkzeug 实现 WSGI 协议&#xff0c;处理 HTTP 请求到响应的全流程。手动实现 WSGI 应用示例&#xff1a;def simple_app(environ, start_response):status 200 OKheaders [(Content-type, text/pla…...

git的使用

1、git的安装&#xff08;windows10&#xff09; 网址&#xff1a;Git - Downloading Package全部默认安装就好。在任意文件夹中右击&#xff0c;列表中出现git即为安装成功。 2、git的基本配置 右击打开git bash设置用户信息 git config --global user.name "username…...

MQTT协议下温度数据上报观测云最佳实践

MQTT 介绍 MQTT&#xff08;Message Queuing Telemetry Transport&#xff0c;消息队列遥测传输协议&#xff09;是一种轻量级的、基于发布/订阅模式的消息传输协议&#xff0c;专为低带宽、高延迟或不可靠的网络环境设计&#xff0c;广泛应用于物联网&#xff08;IoT&#xf…...

什么是Flask

Flask是Python中一个简单、灵活和易用的Web框架&#xff0c;适合初学者使用。它提供了丰富的功能和扩展性&#xff0c;可以帮助开发者快速构建功能完善的Web应用程序。 以下是Python Flask框架的一些特点和功能&#xff1a; Flask 是一个使用 Python 编写的轻量级 WSGI 微 Web…...

数字投屏叫号器-发射端python窗口定制

窗口 本系列前章介绍&#xff0c;叫号器的显示端&#xff0c;完成了视频音频的形成和传输的介绍。本章节开始定制小窗口。 最终实现&#xff0c;处于桌面最前端&#xff0c;发送指令&#xff0c;集合前篇即可完成&#xff1a; 处理本地text.txt更新&#xff0c;随之被rtsp采集…...

文本转语音-音画适时推送rtsp并播放

文本语音 rtsp适时播放叫号系统的底层逻辑 发布Linux, unix socket 和window win32做为音频源的 python10下的(ffmpeg version 7.1) 可运行版本. 这两天在弄这个&#xff0c;前2篇是通过虚拟声卡&#xff0c;达到了最简单的一个逻辑&#xff0c;播放文本就从声卡发声&#xff0…...

clickhouse修改和删除数据

标题&#xff1a;ClickHouse中修改和删除数据的简易指南 在大数据时代&#xff0c;数据库技术的发展日新月异。作为一款专为实时分析设计的列式数据库管理系统&#xff0c;ClickHouse因其高效的查询性能而受到欢迎。照这么推测的话&#xff0c;对于那些习惯于传统SQL操作&…...

2025CSP-J 冲刺训练(1):二分

2025CSP-J 冲刺训练 1 一、二分查找函数1. 头文件2. 前提条件3. 功能函数3.1 lower_bound3.2 upper_bound 二、二分答案模板1. 前提条件2. 模板 三、典型例题1. 寻找固定的和1.1 审题1.2 分析1.3 参考答案 2. Snuke Festival2.1 审题2.2 分析2.3 参考答案 四、拓展例题1. 晒衣服…...

无公网IP也能远程控制Windows:Linux rdesktop内网穿透实战

文章目录 前言1. Windows 开启远程桌面2. Linux安装rdesktop工具3. Win安装Cpolar工具4. 配置远程桌面地址5. 远程桌面连接测试6. 设置固定远程地址7. 固定地址连接测试 前言 如今远程办公已经从一种选择变成了许多企业和个人的必修课&#xff0c;而如何在Linux系统上高效地访…...

Win10 访问 Ubuntu 18 硬盘

目录 方案一&#xff1a;使用Samba共享服务Ubuntu 18 端配置Windows 10 端访问 方案二&#xff1a;使用 SSHFS&#xff08;需在 Windows 上安装 SSH 客户端&#xff09;Ubuntu 18 端配置Windows 10 端配置 方案三&#xff1a;使用 FTP 服务Ubuntu 18 端配置Windows 10 端访问 方…...

算法.习题篇

算法 — 地大复试 模拟 while循环和MOD循环计数 1.约瑟夫问题 http://bailian.openjudge.cn/practice/3254 using namespace std;bool isNoPeople(vector<bool> c)//判断当前数组是否一个小孩都没有了 {bool nopeople true;for (bool ival : c){if ( ival true)nop…...

upload-labs文件上传

第一关 上传一个1.jpg的文件&#xff0c;在里面写好一句webshell 保留一个数据包&#xff0c;将其中截获的1.jpg改为1.php后重新发送 可以看到&#xff0c;已经成功上传 第二关 写一个webshell如图&#xff0c;为2.php 第二关在过滤tpye的属性&#xff0c;在上传2.php后使用b…...

一二三应用开发平台——能力扩展:多数据源支持

背景 随着项目规模的扩大&#xff0c;单一数据源已无法满足复杂业务需求&#xff0c;多数据源应运而生。 技术选型 MyBatis-Plus 的官网提供了两种多数据源扩展插件&#xff1a;开源生态的 <font style"color:rgb(53, 56, 65);">dynamic-datasource</fon…...

【Python】整数除法不正确,少1的问题,以及有关浮点数转换的精度问题

1. 问题 今天在做leetcode 不同路径 的时候发现了个问题 对于m53 n4class Solution:def uniquePaths(self, m: int, n: int) -> int:rlt 1for i in range(0, m-1):rlt * (m n - 2 - i)for i in range(0, m-1):rlt / (i 1)return int(rlt)为什么这个结果是 26234class S…...

【贪心算法】简介

1.贪心算法 贪心策略&#xff1a;解决问题的策略&#xff0c;局部最优----》全局最优 &#xff08;1&#xff09;把解决问题的过程分成若干步 &#xff08;2&#xff09;解决每一步的时候&#xff0c;都选择当前看起来的“最优”的算法 &#xff08;3&#xff09;“希望”得…...

狮子座大数据分析(python爬虫版)

十二星座爱情性格 - 星座屋 首先找到一个星座网站&#xff0c;作为基础内容&#xff0c;来获取信息 网页爬取与信息提取 我们首先利用爬虫技术&#xff08;如 Python 中的 requests 与 BeautifulSoup 库&#xff09;获取页面内容。该页面&#xff08;xzw.com/astro/leo/&…...

【商城实战(20)】商品管理功能深化实战

【商城实战】专栏重磅来袭&#xff01;这是一份专为开发者与电商从业者打造的超详细指南。从项目基础搭建&#xff0c;运用 uniapp、Element Plus、SpringBoot 搭建商城框架&#xff0c;到用户、商品、订单等核心模块开发&#xff0c;再到性能优化、安全加固、多端适配&#xf…...

YC 孵化项目 Pinch:实时语音翻译视频会议平台;Mistral OCR:能处理多语言多模态复杂文档丨日报

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。 我们的社区编辑团队会整理分享 RTE&#xff08;Real-Time Engagement&#xff09; 领域内「有话题的 技术 」、「有亮点的 产品 」、「有思考的 文章 」、「有态度的 …...

数据库原理6

1.数据是信息的载体 2.数据库应用程序人员的主要职责&#xff1a;编写应用系统的程序模块 3.关系规范化理论主要属于数据库理论的研究范畴 4.数据库主要有检索和修改&#xff08;包括插入&#xff0c;删除&#xff0c;更新&#xff09;两大操作 5.概念模型又称为语义模型。…...

深度学习与大模型基础-向量

大家好&#xff01;今天我们来聊聊向量&#xff08;Vector&#xff09;。别被这个词吓到&#xff0c;其实向量在我们的生活中无处不在&#xff0c;只是我们没注意罢了。 1. 向量是什么&#xff1f; 简单来说&#xff0c;向量就是有大小和方向的量。比如你从家走到学校&#x…...

OpenManus:3小时复刻 Manus(OpenManus安装指南)

项目地址&#xff1a;GitHub - mannaandpoem/OpenManus: No fortress, purely open ground. OpenManus is Coming. 安装指南 我们提供两种安装方式。推荐使用方式二&#xff08;uv&#xff09;&#xff0c;因为它能提供更快的安装速度和更好的依赖管理。 方式一&#xff1a;使…...

2025年渗透测试面试题总结-快某手-安全实习生(一面、二面)(题目+回答)

网络安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 快某手-安全实习生 一面 一、Linux操作&#xff1a;查看进程PID的5种方法 二、Elasticsearch&#x…...

【微信小程序】uniapp开发微信小程序

uniapp开发微信小程序 1、上拉加载 下拉刷新 import { onReachBottom, onPullDownRefresh } from dcloudio/uni-app;配置允许下拉刷新&#xff1a; {"path" : "pages/pet/pet","style" : {"navigationBarTitleText" : ""…...

动态规划_最大子数组和

53. 最大子数组和 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组是数组中的一个连续部分。 示例 1&#xff1a;输入&#xff1a;nums [-2,1,-3,4,-1,2,1,-5,4] …...

从零开始的python学习(五)P71+P72+P73+P74

本文章记录观看B站python教程学习笔记和实践感悟&#xff0c;视频链接&#xff1a;【花了2万多买的Python教程全套&#xff0c;现在分享给大家&#xff0c;入门到精通(Python全栈开发教程)】 https://www.bilibili.com/video/BV1wD4y1o7AS/?p6&share_sourcecopy_web&v…...

Vue3实战学习(Element-Plus常用组件的使用(输入框、下拉框、单选框多选框、el-image图片))(上)(5)

目录 一、Vue3工程环境配置、项目基础脚手架搭建、Vue3基础语法、Vue3集成Element-Plus的详细教程。(博客链接如下) 二、Element-Plus常用组件使用。 &#xff08;1&#xff09;el-input。(input输入框) <1>正常状态的el-input。 <2>el-input的disable状态。 <3…...

HarmonyOS学习第18天:多媒体功能全解析

一、开篇引入 在当今数字化时代&#xff0c;多媒体已经深度融入我们的日常生活。无论是在工作中通过视频会议进行沟通协作&#xff0c;还是在学习时借助在线课程的音频讲解加深理解&#xff0c;亦或是在休闲时光用手机播放音乐放松身心、观看视频打发时间&#xff0c;多媒体功…...

多模态融合的分类、跨模态对齐的方法

两者的主要区别 维度扩模态对齐扩模态融合目标对齐模态间的表示&#xff0c;使其语义一致融合模态间的信息&#xff0c;生成联合表示关注点模态间的相似性和语义一致性模态间的互补性和信息整合空间映射到共享的公共语义空间生成新的联合特征空间方法对比学习、共享空间、注意…...

软件高级架构师 - 软件工程

补充中 测试 测试类型 静态测试 动态测试 测试阶段 单元测试中&#xff0c;包含性能测试&#xff0c;如下&#xff1a; 集成测试中&#xff0c;包含以下&#xff1a; 维护 遗留系统处置 高水平低价值&#xff1a;采取集成 对于这类系统&#xff0c;采取 集成 的方式&…...

Uniapp项目运行到微信小程序、H5、APP等多个平台教程

摘要&#xff1a;Uniapp作为一款基于Vue.js的跨平台开发框架&#xff0c;支持“一次开发&#xff0c;多端部署”。本文将手把手教你如何将Uniapp项目运行到微信小程序、H5、APP等多个平台&#xff0c;并解析常见问题。 一、环境准备 在开始前&#xff0c;请确保已安装以下工具…...