【发布时间】:2019-07-19 02:06:04
【问题描述】:
是否可以从另一个数组中删除一个完全匹配的数组?
两个数组:
let array1: any[] = [[1], [2,3], [1,2]];
let array2: any[] = [[1]];
我想做什么:
function deleteArrayFromArray(array2) {
// delete given array2 from array1
}
结果应该是:
array1 or new array --> [[2,3], [1,2]]
是否有类似 lodash 的过滤器,但具有精确的数组到数组比较:
_.filter(array1, array2);
【问题讨论】:
-
如果订单很重要...只需使用
JSON.stringify() -
我知道他们将其标记为重复,但也许这会对您的具体情况有所帮助。
function deleteArrayFromArray(array1, array2) { return array1.map(JSON.stringify).filter((x) => !array2.map(JSON.stringify).includes(x)).map(JSON.parse) }deleteArrayFromArray( [[1], [2,3], [1,2]], [[1]])使用 es6 的函数式方法。
标签: javascript arrays typescript lodash