如何过滤 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' ] ]
广告