2016-10-03 165 views
2

另一個數組存在陣列是否可以檢查數組檢查與lodash

A=[ 
    "EMPRESA", 
    "CD_MAQ", 
    "DT_INI_MAQ" 
] 

存在於另一個陣列

B=[ 
    "EMPRESA", 
    "CD_MAQ", 
    "DT_INI_MAQ", 
    "CD_WKC", 
    "DT_INI_WKC" 
] 

我要檢查,如果在陣列中所有條目存在乙

+2

要匹配,必須順序是一樣的,並沒有差距? – trincot

+1

您可以檢查兩個數組的[** intersection **](https://lodash.com/docs/4.16.2#intersection)是否與數組A相等:'var completeIntersect = _.intersection (A,B).length === A.length;' – Tholle

+0

沒有訂單,只要第一個條目存在於第二個 –

回答

2

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

1

可以使用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>

+0

謝謝Keith和Tholle –