javascript - 在数组数组上使用 lodash unique

标签 javascript lodash

我不确定如何使用它从主数组中删除重复数组。所以请考虑以下几点:

var arr = [
    [0, 1],
    [0, 1],
    [2, 1],
];

结果数组应该是这样的:

var arr = [
    [0, 1],
    [2, 1],
];

该文档对单个元素数组有意义,但对二维数组没有意义。

想法?

更新,一些解决方案的一个小问题:

要变成唯一的数组可能有:

var arr = [
  [0, 1]
  [0, 2]
  [0, 3]
  [0, 1]
  [2, 1]
]

数组中的数组应该比较所有的值,所以在上面的例子中,它应该吐出:

var arr = [
  [0, 1]
  [0, 2]
  [0, 3]
  [2, 1]
]

重复项是 [0, 1]

最佳答案

最简单的方法可能是使用 uniq 方法,然后将内部数组转换为某种字符串表示形式,JSON.stringify 应该是足够好的解决方案。

var arr = [[0, 1], [0, 2], [0, 3], [0, 1], [2, 1]]
_.uniq(arr, function(item) { 
    return JSON.stringify(item); 
});
// [[0,1], [0,2], [0,3], [2,1]]

关于javascript - 在数组数组上使用 lodash unique,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33507701/

相关文章:

javascript - 禁用多个输入字段和复选框

javascript - 如何对数据进行分组?

javascript - 在匹配的对象属性上连接两个数组

javascript - 使用 JavaScript 或 Lodash 创建多维数组

vue.js - 使用 lodash 和 Jest 测试 Vue 组件时出现 'orderBy' 未定义错误

c# - 如何在 c#, asp.net 中一次上传多张图片时检查图片是否已经存在/已附加

javascript - Phonegap + 需要 Js

javascript - css 将阴影切换到文本的背面

javascript - 将小数转换为分数

javascript - 加入嵌套数组