array的form
属性是Array构造函数的一个静态属性,用于指定创建数组时使用的构造函数。form
属性的值是一个函数对象(内部构造函数),用于创建数组对象。
console.log(Array.form); // ƒ from() { [native code] }
Array.form
方法可以将类数组对象或可迭代对象转换为真正的数组。
const arrayLike = {
0: 'a',
1: 'b',
2: 'c',
length: 3
};
const array = Array.from(arrayLike);
console.log(array); // ['a', 'b', 'c']
Set
是ES6中新增的一种数据结构,它类似于数组,但是成员的值是唯一的,没有重复值。
const set = new Set();
set.add('a');
set.add('b');
set.add('c');
set.add('c');
console.log(set); // Set(3) {'a', 'b', 'c'}
console.log(set.size); // 3
Set
的特点包括:
- 成员的值唯一,不能重复
- 可以通过
add()
方法添加元素,通过delete()
方法删除元素,通过has()
方法判断元素是否存在 - 可以通过迭代器遍历集合中的元素
Set
可以接收一个可迭代对象作为参数,用于初始化集合
const set = new Set([1, 2, 3, 4, 4]);
console.log(set); // Set(4) {1, 2, 3, 4}
需要注意的是,虽然Set
类似于数组,但是并不是数组。如果需要将Set
转换为数组,可以使用Array.from()
方法或者扩展运算符[...set]
。
const set = new Set([1, 2, 3]);
const array = Array.from(set);
console.log(array); // [1, 2, 3]
const array2 = [...set];
console.log(array2); // [1, 2, 3]