2017-03-31 66 views
1

有沒有一種方法來插入一個項目作爲設置在JavaScript中的第一個元素,就像它在下面的例子中的數組中完成的?Javascript Set ES6

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

如果元素已經在一套,你要老的一個留在那裏,或無法移動到前面? – 4castle

回答

2

有沒有直接的方法,或一種方法來unshift設置元素。

您可以使用舊套件的spread syntax ...並生成一個新套件。

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

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

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

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);