使用 lodash 检查数组是不是存在于另一个数组中
Posted
技术标签:
【中文标题】使用 lodash 检查数组是不是存在于另一个数组中【英文标题】:Check if array exists in another array with lodash使用 lodash 检查数组是否存在于另一个数组中 【发布时间】:2017-02-11 11:39:22 【问题描述】:是否可以检查一个数组
A=[
"EMPRESA",
"CD_MAQ",
"DT_INI_MAQ"
]
存在于另一个数组中
B=[
"EMPRESA",
"CD_MAQ",
"DT_INI_MAQ",
"CD_WKC",
"DT_INI_WKC"
]
我想检查数组 A 中的所有条目是否都存在于 B 中
【问题讨论】:
要匹配,顺序必须相同,并且不能有间隔吗? 你可以检查两个数组的intersection是否与数组A的长度相等:var completeIntersect = _.intersection(A, B).length === A.length;
无顺序,只要第一个条目存在于第二个中
【参考方案1】:
var A=[
"EMPRESA",
"CD_MAQ",
"DT_INI_MAQ"
];
var B=[
"EMPRESA",
"CD_MAQ",
"DT_INI_MAQ",
"CD_WKC",
"DT_INI_WKC"
];
if ( _.difference(A,B).length === 0)
// all A entries are into B
<script src="https://cdn.jsdelivr.net/lodash/4.16.2/lodash.min.js"></script>
只需使用_.difference
【讨论】:
【参考方案2】:你可以使用两个数组的交集,然后和原来的比较。
var A=[
"EMPRESA",
"CD_MAQ",
"DT_INI_MAQ"
];
var B=[
"EMPRESA",
"CD_MAQ",
"DT_INI_MAQ",
"CD_WKC",
"DT_INI_WKC"
];
console.log(_.isEqual(_.intersection(B,A), A));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.16.2/lodash.js"></script>
【讨论】:
以上是关于使用 lodash 检查数组是不是存在于另一个数组中的主要内容,如果未能解决你的问题,请参考以下文章
php 如果判断一个二维数组中数据是不是存在于另一个二维数组中?