网站地图    收藏    合作   

主页 > 前端 > javascript >

js中set对象详解

来源:未知    时间:2021-02-03 10:21 作者:小飞侠 阅读:

[导读] 今天带来js中set对象详解,Set对象是值的集合,你可以按照插入的顺序迭代它的元素。 Set中的元素只会出现一次,即 Set 中的元素是唯一的。 根据set特性,我们就可以解决传统array对象繁...

今天带来js中set对象详解,Set对象是值的集合,你可以按照插入的顺序迭代它的元素。 Set中的元素只会出现一次,即 Set 中的元素是唯一的。

根据set特性,我们就可以解决传统array对象繁琐的数据处理,比如获取一个数组中的唯一值等

小试牛刀:

image.png

玩法1根据数组创建set

var arr = [1,2,'3',null,'undefined']
var _set1 = new Set(arr)
console.log(_set1) // Set(5) {1, 2, "3", null, "undefined"}

玩法2根据set对象原型方法创建

image.png

// 用到方法有 .add() 给set实列添加值,注意根据set元素唯一特性,重复key会被替换

// 但是给set添加对象key会以数组下标形式自增,相同对象则不影响可以重复添加, 如下所示,正如上所说set元素是不允许重复的,但是值却可以。

image.png

其他set对象原型方法效果预览:

包含了 keys,values,has,delete,clear等常用方法

image.png

set对象api大全

Set()
创建一个新的Set对象。
静态属性
get Set[@@species]
构造函数用来创建派生对象.
实例属性
Set.prototype.size
返回 Set 对象中的值的个数
实例方法
Set.prototype.add(value)
在Set对象尾部添加一个元素。返回该Set对象。
Set.prototype.clear()
移除Set对象内的所有元素。
Set.prototype.delete(value)
移除Set中与这个值相等的元素,返回Set.prototype.has(value)在这个操作前会返回的值(即如果该元素存在,返回true,否则返回false)。Set.prototype.has(value)在此后会返回false。
Set.prototype.entries()
返回一个新的迭代器对象,该对象包含Set对象中的按插入顺序排列的所有元素的值的[value, value]数组。为了使这个方法和Map对象保持相似, 每个值的键和值相等。
Set.prototype.forEach(callbackFn[, thisArg])
按照插入顺序,为Set对象中的每一个值调用一次callBackFn。如果提供了thisArg参数,回调中的this会是这个参数。
Set.prototype.has(value)
返回一个布尔值,表示该值在Set中存在与否。
Set.prototype.keys()
与values()方法相同,返回一个新的迭代器对象,该对象包含Set对象中的按插入顺序排列的所有元素的值。
Set.prototype.values()
返回一个新的迭代器对象,该对象包含Set对象中的按插入顺序排列的所有元素的值。
Set.prototype[@@iterator]()
返回一个新的迭代器对象,该对象包含Set对象中的按插入顺序排列的所有元素的值。


自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论