js中set对象详解

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

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

小试牛刀:

玩法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对象原型方法创建

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

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

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

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

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对象中的按插入顺序排列的所有元素的值。


返回顶部
跳到底部

Copyright 2011-2024 南京追名网络科技有限公司 苏ICP备2023031119号-6 乌徒帮 All Rights Reserved Powered by Z-BlogPHP Theme By open开发

请先 登录 再评论,若不是会员请先 注册