1. 程式人生 > 其它 >Array from(new Set())生成陣列的用法

Array from(new Set())生成陣列的用法

Array from(new Set)

類陣列轉為陣列
1、Array from
2、 Array.prototype.slice.call(arguments);

Array.from()在轉化物件時,要求過於苛刻,因此不適用於轉化物件,主要場景如下:

(1)從類陣列物件(arguments)生成陣列
  let fn = function(){undefined
  console.log(Array.from(arguments));
  }
  fn(1,2,3) // [1,2,3]

(2)從 String 生成陣列
Array.from(‘九九歐’); // [“九”,“九”,“歐”]

(3)從Set生成陣列
Array.from(new Set([“九”,“九”,“歐”,“歐”])); // [“九”,“歐”]

(4)從Map生成陣列
Array.from(new Map([[1, ‘a’], [2, ‘b’]])); // [[1, ‘a’], [2, ‘b’]]

(5)生成一個從0開始到指定數字的定長連續陣列
Array.from({length: 10}, (v, i) => i); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

**

https://blog.csdn.net/qq_41359051/article/details/91836100
從上我們也得出了 set() 去重原理:

set() 函式中會先呼叫物件的 hash() 方法,獲取 hash 結果;
如果 hash 結果相同,用比較操作符 == (也就是呼叫函式 eq())判斷二者的值是否相等;
如果都相等,去重;否則,set() 認為二者不同,兩個都保留到結果中。
————————————————
版權宣告:本文為CSDN博主「三七是藥」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/weixin_44529907/article/details/109357278