# Set

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

# 实例属性

# size

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

Return value

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

const set1 = new Set<Any>();

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

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

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
4.4 3.9.0 9.0 x

# 实例方法

# add(value)

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

Parameters

name type required description
value T YES 要添加到 Set 对象的元素的值。

Return value

Type description
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
})

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
4.4 3.9.0 9.0 x

# clear()

移除 Set 对象中所有元素。

Return value

Type
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

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
4.4 3.9.0 9.0 x

# delete(value)

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

Parameters

name type required description
value T YES 要从 Set 中移除的值。

Return value

Type description
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

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
4.4 3.9.0 9.0 3.9.0

# forEach(callbackfn, thisArg?)

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

Parameters

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

Return value

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

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
4.4 3.9.0 9.0 x

# has(value)

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

Parameters

name type required description
value T YES 要测试是否存在于 Set 对象中的值。

Return value

Type description
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

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
4.4 3.9.0 9.0 x

# Bug & Tips

  • 目前 Set 类型编译到 kotlin 为 io.dcloud.uts.UTSSet