javascript - 从多个数组中查找唯一值,跳过空数组
问题描述
注意:不是重复的问题..这里我需要跳过空数组。
假设我有几个数组,例如:
var a = [1, 2, 3, 4],
b = [2, 4],
c = [],
d = [4];
使用以下功能,我可以获得所需的结果:[4]
var a = [1, 2, 3, 4],
b = [2, 4],
c = [],
d = [4];
var res = [a, b, c, d].reduce((previous, current) =>
!previous.length || previous.filter((x) => !current.length || current.includes(x)),
);
console.log(res)
我!current.length ||
在上面包括绕过空数组c
。a
但是,如果集合中的第一个数组即为空,则这不起作用。结果将是[]
。
解决方案
只是过滤。使代码更具可读性
var a = [1, 2, 3, 4],
b = [2, 4],
c = [],
d = [4];
var res = [c, b, a, d].filter(arr => arr.length).reduce((previous, current) =>
previous.filter((x) => current.includes(x)),
);
console.log(res)
推荐阅读
- c# - C#获取USB驱动器的序列号
- php - 简单的 html dom 解析器查找文本
- azure - Azure Dev-ops Pipeline - 有条件地执行任务
- python - 无法打印字符串匹配模式
- python - Python Turtle Graphics Tic - Tac - 脚趾游戏
- python - PyCon 2012 David Mertz 谈协程作为线程
- java - 长度可变的数组
- python - 反正有实时的DHT22数据吗?
- java - 如何从firebase中检索键和值并将它们存储在两个单独的变量中
- php - 有没有办法将数组元素添加到 SESSION 变量中?