作为javascript开发,简述set、map、weakset 和 weakmap 的区别 ?


1. Set Set是一种数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。Set不能包含null和undefined。Set集合的元素个数是动态的,可以随时添加和删除元素。 2. Map Map是键值对的集合,其中的键和值可以是任意类型。Map的键不能重复,但是值可以重复。Map集合的大小是动态的,可以随时添加和删除元素。 3. WeakSet WeakSet与Set类似,也是值唯一的集合,但是成员的值都是对象引用,对象引用必须是可垃圾回收的。当对象被垃圾回收后,该对象的引用就会被移除,也就是说WeakSet中的元素会自动减少。 4. WeakMap WeakMap也是键值对的集合,但是键必须是对象引用,值可以是任意类型。与WeakSet一样,当键对象被垃圾回收后,该键对应的值就会被移除。WeakMap与Map的区别在于,Map的键值对的键不能重复,而WeakMap的键值对的键可以重复。 [2023-11-09 01:48:38 | AI写代码神器 | 233点数解答]
相关提问
- 作为javascript开发,简述set、map、weakset 和 weakmap 的区别 ?(233点数解答 | 2023-11-09 01:48:38)162
- const dfiles = dv.pages(`"文件目录"`), yamlkey = 'source' , dc = (str, obj)=> object.assign(document.createelement(str), obj||{}) const inpu = dc('input', { style: 'width: 120px;', /*输入框宽度*/ onchange: ()=> arr.includes(inpu.value) && xl(), }) inpu.setattribute('list', 'demo') const sele = dc('datalist', {id: 'demo'}) const arr = array.from(new set(dfiles.map(p=> p[yamlkey]).filter(p=> p))) arr.unshift('..'); arr.map(p=> sele.append(dc('option', {value: p}))) dv.container.append(inpu, sele) const(139点数解答 | 2024-11-22 23:56:54)186
- const dfiles = dv.pages(`"文件目录"`), yamlkey = 'source' , dc = (str, obj)=> object.assign(document.createelement(str), obj||{}) const inpu = dc('input', { style: 'width: 120px;', /*输入框宽度*/ onchange: ()=> arr.includes(inpu.value) && xl(), }) inpu.setattribute('list', 'demo') const sele = dc('datalist', {id: 'demo'}) const arr = array.from(new set(dfiles.map(p=> p[yamlkey]).filter(p=> p))) arr.unshift('..'); arr.map(p=> sele.append(dc('option', {value: p}))) dv.container.append(inpu, sele) const(630点数解答 | 2024-11-23 00:01:37)143
- 作为javascript开发,简述 jquery中 $ .get()提交和$.post()区别 ?(341点数解答 | 2023-11-09 01:15:01)227
- use [smarttagsystem] go /****** object: storedprocedure [dbo].[pr_createdtables] script date: 2024/8/29 星期四 15:33:01 ******/ set ansi_nulls on go set quoted_identifier on go alter procedure [dbo].[pr_createdtables] @table_name_sign varchar(50) --课程标识 as declare @sql_answer nvarchar(max) --答案表创建sql declare @sql_classify nvarchar(max) --章节考点表 declare @sql_exam nvarchar(max)--试卷表 declare @sql_problem nvarchar(max)--题目表 declare @sql_problemtype nvarchar(max)--题目类型表 set @sql_an(33点数解答 | 2024-08-29 15:34:33)251
- create table `py_plan_opportunity_point` ( `id` bigint not null auto_increment comment '主键id', `location_code` varchar(32) character set utf8mb4 collate utf8mb4_0900_ai_ci not null comment '规划点/机会点编码', `location_name` varchar(20) character set utf8mb4 collate utf8mb4_0900_ai_ci default null comment '规划点名称', `point_type` char(2) character set utf8mb4 collate utf8mb4_0900_ai_ci default null comment '点类型(1:规划点/2:机会点)', primary key (`id`) using **ree, key `py_plan_opportunity_point_uniq(328点数解答 | 2024-09-04 16:07:48)240
- create table `py_plan_opportunity_point` ( `id` bigint not null auto_increment comment '主键id', `location_code` varchar(32) character set utf8mb4 collate utf8mb4_0900_ai_ci not null comment '规划点/机会点编码', `location_name` varchar(20) character set utf8mb4 collate utf8mb4_0900_ai_ci default null comment '规划点名称', `point_type` char(2) character set utf8mb4 collate utf8mb4_0900_ai_ci default null comment '点类型(1:规划点/2:机会点)', primary key (`id`), unique key `py_plan_opportunity_point_uniq` (`location_code(188点数解答 | 2024-09-04 16:08:40)360
- create table `py_plan_opportunity_point` ( `id` bigint not null auto_increment comment '主键id', `location_code` varchar(32) character set utf8mb4 collate utf8mb4_0900_ai_ci not null comment '规划点/机会点编码', `location_name` varchar(20) character set utf8mb4 collate utf8mb4_0900_ai_ci default null comment '规划点名称', `point_type` char(2) character set utf8mb4 collate utf8mb4_0900_ai_ci default null comment '点类型(1:规划点/2:机会点)', primary key (`id`), unique key `py_plan_opportunity_point_uniq` (`location_code`(348点数解答 | 2024-09-04 16:09:36)204
- if (@code2 like 'item_ch_' + @itemcodeprefix + '_a_rare' and @optlevel >= 1 - @ck and @cl1 = 24670 and @cl2 = 24669 and @clsl1 > 1 and @clsl2 > 1) begin select @charname = charname16 from _char where charid = @charid; update _inventory set itemid=0 where charid=@charid and slot=13 update sro_vt_shard.._items set data=data-1 where id64 in (select itemid from sro_vt_shard.._inventory where slot=14and charid=@charid) update sro_vt_shard.._items set data=data-1 where id64 in ((51点数解答 | 2024-10-22 11:24:35)207
- if (@code2 like 'item_ch_' + @itemcodeprefix + '_a_rare' and @optlevel >= 1 - @ck and @cl1 = 24670 and @cl2 = 24669 and @clsl1 > 1 and @clsl2 > 1) begin select @charname = charname16 from _char where charid = @charid; update _inventory set itemid=0 where charid=@charid and slot=13 update sro_vt_shard.._items set data=data-1 where id64 in (select itemid from sro_vt_shard.._inventory where slot=14and charid=@charid) update sro_vt_shard.._items set data=data-1 where id64 in (select itemid from sro_(969点数解答 | 2024-10-22 11:26:02)262
- 作为c++开发,new int[10]跟new int[10]()区别(196点数解答 | 2023-11-09 00:45:31)236
- 作为golang开发,golang中nil map 和空 map 有何不同?(264点数解答 | 2023-11-09 18:11:53)211