在 JavaScript 中將陣列轉換為集合
Mehvish Ashiq
2023年10月12日
-
在 JavaScript 中使用
set
建構函式將陣列轉換為Set
-
在 JavaScript 中使用
map()
函式將陣列轉換為Set
-
在 JavaScript 中使用
reduce()
函式將陣列轉換為Set
-
在 JavaScript 中使用
set
建構函式和map()
函式將物件陣列轉換為多個Sets
本教程展示了將陣列轉換為 set
的過程,並瞭解如何使用 JavaScript 將物件陣列轉換為多個集合。
我們可以通過不同的路徑將陣列轉換為 JavaScript 中的 set
轉換。下面列出了其中一些,我們將在本教程的後面部分進行探討。
set
建構函式。map()
函式。reduce()
函式。- 同時使用
set
建構函式和map()
函式。
在 JavaScript 中使用 set
建構函式將陣列轉換為 Set
JavaScript 程式碼:
var array = [5, 4, 6];
var set = new Set(array);
console.log(set.size === array.length);
console.log(set.has(6));
輸出:
true
true
我們將 array
傳遞給 set
建構函式以將陣列轉換為 set
。然後,我們使用 set.size === array.length
比較陣列的大小/長度和 set
。
此外,我們使用 has()
方法來檢查 set
是否具有陣列中的元素。
在 JavaScript 中使用 map()
函式將陣列轉換為 Set
JavaScript 程式碼:
var array = [5, 5, 4, 6];
var set = new Set();
array.map(arrElement => set.add(arrElement));
set.forEach(item => {
console.log(item);
});
輸出:
5
4
6
map()
方法通過對每個陣列的元素執行一次方法而不更新實際陣列來構造一個新陣列,而 add()
方法獲取陣列元素並將其新增到 set
中。
最後,我們使用 forEach
迴圈遍歷 set
並在控制檯上列印元素。
如上面的輸出所示,它在 set
中只有一個數字五(5
)。set
僅包含唯一值,因此在轉換為 set
時務必小心,當你有冗餘資料(重複資料/值)時切勿轉換為 set
。
在 JavaScript 中使用 reduce()
函式將陣列轉換為 Set
JavaScript 程式碼:
var array = [5, 5, 4, 6];
var set = new Set();
array.reduce((_, item) => set.add(item), null);
set.forEach(item => {
console.log(item);
});
輸出:
5
4
6
我們使用 reduce()
方法將陣列轉換為 set
。reduce()
函式為陣列的每個元素呼叫 reducer 方法,並將累積的答案作為單個值返回。
在 JavaScript 中使用 set
建構函式和 map()
函式將物件陣列轉換為多個 Sets
JavaScript 程式碼:
let array = [
{name: 'Mehvish', age: 36}, {name: 'Thomas', age: 23},
{name: 'Christopher', age: 45}
];
let namesSet = new Set(array.map(item => item.name));
let ageSet = new Set(array.map(item => item.age));
namesSet.forEach(item => {
console.log(item);
});
ageSet.forEach(item => {
console.log(item);
});
輸出:
"Mehvish"
"Thomas"
"Christopher"
36
23
45
最後一個例子表明我們可以將一個物件陣列轉換為多個 sets
。在我們的例子中,我們製作了兩個 set
,一個用於名稱,另一個用於年齡。
作者: Mehvish Ashiq
相關文章 - JavaScript Array
- 檢查陣列是否包含 JavaScript 中的值
- 在 JavaScript 中建立特定長度的陣列
- 在 JavaScript 中將陣列轉換為字串
- 在 JavaScript 中從陣列中刪除第一個元素
- 在 JavaScript 中從陣列中搜尋物件
- 在 JavaScript 中將引數轉換為陣列