使用lodash检查另一个数组中是否存在数组

Leo*_*gos 6 javascript arrays lodash

是否可以检查是否有阵列

A=[
  "EMPRESA",
  "CD_MAQ",
  "DT_INI_MAQ"
]
Run Code Online (Sandbox Code Playgroud)

存在于另一个阵列中

B=[
  "EMPRESA",
  "CD_MAQ",
  "DT_INI_MAQ",
  "CD_WKC",
  "DT_INI_WKC"
]
Run Code Online (Sandbox Code Playgroud)

我想检查数组A中的所有条目是否都存在于B中

Ste*_*tis 11

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
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdn.jsdelivr.net/lodash/4.16.2/lodash.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

只是用 _.difference


Kei*_*ith 5

您可以使用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));
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.16.2/lodash.js"></script>
Run Code Online (Sandbox Code Playgroud)


Yan*_*ich 5

在这种情况下你不需要 lodash。这是一个带有普通 JS 的内衬。

A.every(i => B.includes(i))
Run Code Online (Sandbox Code Playgroud)