Javascript 设置数据结构
Javascript 设置数据结构
你好,我一直想详细研究ES6数据类型很久了,但是一直找不到太多时间工作,但现在是时候了。我从 Set 开始,希望能有续集。
什么是 JS Set 对象?
ES6 附带的这种数据类型允许我们创建集群。如您所知,套装由独特的元素组成。但是,您可以在数组中多次使用相同的元素。使用 Set 可以获得具有唯一元素的数组。下面是一个空的 放 您将了解如何创建集合。
var setDeneme = new Set();
放 如果将递归数组分配给对象,它将删除重复的对象。
让迭代对象=[2,4,3,5,6,2,3,4,8]
让 setTest = new Set(repeatedObject);
console.log(setDeneme) // Set(6) {2, 4, 3, 5, 6, 8}
一些 Set 方法
-
添加(价值)
– 放 您可以使用它向对象添加新元素。运行后它将返回设置对象的最终版本。此外,正如您在下面的示例中看到的那样 放 对象可以存储不同类型的值。setDeneme.add("emre")
console.log(setDeneme) // Set(7)
还有这个功能 放 在另一个物体内 放 您也可以添加对象。
setDeneme.add(新集([22,14]))
console.log(setDeneme) // Set(7) {2, 4, 3, 5, 6, 8, "emre", Set(2)}
-
清除()
– 放 删除对象的所有元素。 -
删除(值)
— 要删除特定对象时要使用的按钮。 -
有(价值)
– 放 这是一个允许我们在其中进行查询的函数,如果有您正在寻找的值 真的 如果不 错误的 返回。setDeneme.has(2) //真
setDeneme.has(81) //假 -
键()
– 与 values 函数相同setDeneme.keys()
SetIterator {2, 4, 3, 5, 6, ...} setDeneme.values()
SetIterator
一些 放
样品
如果一个 放 如果您将 type of 应用于其对象,它将返回一个对象。
类型(setDeneme)
'目的'
设置试用一 放 以下值返回 true,因为它是一个对象。这
让结果 = 字符 setDeneme 集;
控制台.log(结果); //真的
您可以使用以下函数找到 Set 对象的元素值。
让大小 = setDeneme.size;
控制台日志(大小); _// 9_
使用 Set 对象循环
放 对象记住添加项目的顺序。
让位置=新设置();
position.add('中锋')
.add('前锋')
.add('ortasaha'); for(让位置的位置){
控制台.log(位置);
} // 向前
//边锋
//ortasaha
放 同一个对象 地图(我也会写这个话题) 它像对象一样保存关键值,但这些是 地图' 相反,它是一样的。
for (let [key, value] of mevkiler.entries()) {
console.log(key === value);
} 真的
真的
真的
使用回调
为每个 你可以很容易地运行回调
position.forEach(position => console.log(position.toUpperCase()));
弱集
这个在实践中用得不多的对象,几乎是一个 放 它的工作原理是这样的,但它不适合大小,建议仅用于观看电视剧。
让计算机= {类型:'笔记本电脑'};
让服务器 = {类型:'服务器'};
让设备=新的WeakSet([计算机,服务器]); 如果(设备。有(服务器)){
console.log('我们有一个服务器'); // 我们有一个服务器
}
一个例子……
让年龄 = [30, 29, 32, 30, 29, 30, 26, 28, 30]
让 uniqueAges = [...new Set(ages)] console.log(uniqueAges) // (5) [30, 29, 32, 26, 28]
很好的教程 放 我试图告诉你我从下面的来源中学到的信息,我希望它对某人有用。
Kaynak:https://www.javascripttutorial.net/es6/javascript-set/
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通