Javascript设置ES6

时间:2017-03-31 20:05:29

标签: javascript ecmascript-6 set

有没有办法在javascript中插入项目作为Set的第一个元素,就像在下面的示例中在数组中完成一样?

arr['a','b','c']
arr.unshift ('d')
//Result
arr['d','a','b','c']

2 个答案:

答案 0 :(得分:3)

没有直接的方法,也没有取消移动set元素的方法。

您可以将spread syntax ...用于旧集合并生成新集。



var mySet = new Set(['a', 'b', 'c']);

mySet = new Set(['d', ...mySet]);

console.log([...mySet]);




答案 1 :(得分:0)

Set的顺序取决于插入项目的时间。根据您的要求,您可以将项目插入Set,然后提取这些值并根据需要进行排序,或者您可以按正确的顺序将它们插入到数组中,然后从该数组中创建Set



let standardSet = new Set();
standardSet.add('c');
standardSet.add('a');
standardSet.add('b');
let fromStandard = Array.from(standardSet);
fromStandard.sort();
console.log(fromStandard);

let arr = [];
arr.unshift('c');
arr.unshift('b');
arr.unshift('a');
let fromArr = Array.from(new Set(arr));
console.log(fromArr);