如何過濾 JavaScript 中陣列陣列中的通用陣列
假設我們有一個這樣的陣列陣列 −
const arr = [ [ "Serta", "Black Friday" ], [ "Serta", "Black Friday" ], [ "Simmons", "Black Friday" ], [ "Simmons", "Black Friday" ], [ "Simmons", "Black Friday" ], [ "Simmons", "Black Friday" ] ];
我們需要編寫一個 JavaScript 函式來接受這樣的陣列。該函式應返回一個新陣列,其中包含原始陣列中的所有唯一子陣列。
程式碼如下 −
const arr = [
[
"Serta",
"Black Friday"
],
[
"Serta",
"Black Friday"
],
[
"Simmons",
"Black Friday"
],
[
"Simmons",
"Black Friday"
],
[
"Simmons",
"Black Friday"
],
[
"Simmons",
"Black Friday"
]
];
const filterCommon = arr => {
const map = Object.create(null);
let res = [];
res = arr.filter(el => {
const str = JSON.stringify(el);
const bool = !map[str];
map[str] = true;
return bool;
});
return res;
};
console.log(filterCommon(arr));輸出
控制檯輸出 −
[ [ 'Serta', 'Black Friday' ], [ 'Simmons', 'Black Friday' ] ]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP