javascript - 如何使用 filter() 方法从 JavaScript 中的数组数组中获取不同的值?

标签 javascript arrays

<分区>

我有一个这样的数组:

let x = [[1, 2], [3, 4], [1, 2], [2, 1]];

我应该怎么做才能检索到没有重复项的数组?

[[1, 2], [3, 4], [2, 1]];

我想使用过滤方法。我试过这个但它不起作用:

x.filter((value,index,self) => (self.indexOf(value) === index))

编辑:正如我指定使用过滤方法一样,我不认为这个问题是重复的。另外,我得到了几个有趣的答案。

最佳答案

尝试将内部数组转换为字符串,然后过滤重复项并再次解析字符串。

let x = [[1, 2], [3, 4], [1, 2]];

var unique = x.map(ar=>JSON.stringify(ar))
  .filter((itm, idx, arr) => arr.indexOf(itm) === idx)
  .map(str=>JSON.parse(str));

console.log(unique);

关于javascript - 如何使用 filter() 方法从 JavaScript 中的数组数组中获取不同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57562611/

相关文章:

javascript - 如何让光滑的 slider 在循环中平滑过渡

javascript - 如何在 ExtJS 中使用 maskRe 避免字符串末尾出现空格?

javascript - 增加一个具有动态名称的数组

javascript - Chrome 扩展程序可以修改 Window 对象,但无法创建新变量

javascript - 滚动动画不适用于元素

c - 如何在 O(1) 的数组中查找字符串

c++ - 未处理的异常 : Access violation reading location 0x015E2348

ios - 目标 - C、协议(protocol)、数组、字典 - 测试

javascript - 用于添加文本的正则表达式 - jquery

c - char 指针的加法和减法