# Set

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

# 实例属性

# size

返回 Set 对象中(唯一的)元素的个数。

返回值

返回 Set 对象中(唯一的)元素的个数。

const set1 = new Set<Any>();

set1.add(42);
set1.add('forty two');
set1.add('forty two');

console.log(set1.size);
// expected output: 2

兼容性

安卓系统版本 安卓 uni-app 安卓 uni-app-x iOS 系统版本 iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# 实例方法

# add(value)

如果 Set 对象中没有具有相同值的元素,则 add() 方法将插入一个具有指定值的新元素到 Set 对象中。

参数

名称 类型 必填 描述
value T 要添加到 Set 对象的元素的值。

返回值

类型 描述
this Set 对象本身。
const set1 = new Set<number>();
set1.add(42);
set1.add(42);
set1.add(13);
set1.forEach((item)=>{
  console.log(item);
  // expected output: 42
  // expected output: 13  
})

兼容性

安卓系统版本 安卓 uni-app 安卓 uni-app-x iOS 系统版本 iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# clear()

移除 Set 对象中所有元素。

返回值

类型
void
const set1 = new Set<any>();
set1.add(1);
set1.add('foo');
console.log(set1.size);
// expected output: 2
set1.clear();
console.log(set1.size);
// expected output: 0

兼容性

安卓系统版本 安卓 uni-app 安卓 uni-app-x iOS 系统版本 iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# delete(value)

从 Set 对象中删除指定的值(如果该值在 Set 中)。

参数

名称 类型 必填 描述
value T 要从 Set 中移除的值。

返回值

类型 描述
boolean 成功删除返回 true,否则返回 false。
const map1 = new Map<string,string>();
map1.set('bar', 'foo');
console.log(map1.delete('bar'));
// expected result: true
// (true indicates successful removal)
console.log(map1.has('bar'));
// expected result: false

兼容性

安卓系统版本 安卓 uni-app 安卓 uni-app-x iOS 系统版本 iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 3.9+

# forEach(callbackfn, thisArg?)

对 Set 对象中的每个值按插入顺序执行一次提供的函数。

参数

名称 类型 必填 描述
callbackfn (value : T, value2 : T, set : Set<T>) => void 为集合中每个元素执行的回调函数,该函数接收三个参数:value、key: Set 中正在处理的当前元素。因为 Set 中没有键,所以 value 会被共同传递给这两个参数。set: 调用 forEach() 的 Set 对象。
thisArg any 值在执行 callbackFn 时作为 this 使用。

返回值

类型
void
const set1 = new Set<number>([42, 13]);
set1.forEach((item)=>{
  console.log(item);
  // expected output: 42
  // expected output: 13
})

兼容性

安卓系统版本 安卓 uni-app 安卓 uni-app-x iOS 系统版本 iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# has(value)

返回一个布尔值来指示对应的值是否存在于 Set 对象中。

参数

名称 类型 必填 描述
value T 要测试是否存在于 Set 对象中的值。

返回值

类型 描述
boolean 如果 Set 对象中存在具有指定值的元素,则返回 true;否则返回 false。
const set1 = new Set<number>([1, 2, 3, 4, 5]);

console.log(set1.has(1));
// expected output: true

console.log(set1.has(5));
// expected output: true

console.log(set1.has(6));
// expected output: false

兼容性

安卓系统版本 安卓 uni-app 安卓 uni-app-x iOS 系统版本 iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x