假设我们有一个这样的数组数组-
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' ] ]