underscoreJS- 形成一个包含 array1 中但不在 array2 中的项目的新数组
underscoreJS- form a new array with items in array1 but not in array2
假设我有 array1 和 array2,需要找到一种方法来找到 array1 而不是 array2 中的项目,
array1":[{"name":"tom","lastname":"jacob","emailId":"tomjacob@gmail.com","$$key":"object:4"},{"name":"will","lastname":"rogers","emailId":"willrogers@gmail.com","$$key":"object:24"},{"name":"matt","lastname":"jacob","emailId":"mattjacob@gmail.com","$$key":"object:84"}]
array2":[{"name":"tom","lastname":"jacob","emailId":"tomjacob@gmail.com","$$key":"object:4"},{"name":"matt","lastname":"jacob","emailId":"mattjacob@gmail.com","$$key":"object:84"}]
**i need to get a new array**
**result:**[{"name":"will","lastname":"rogers","emailId":"willrogers@gmail.com","$$key":"object:24"}]
var result = _.reject(data.array1, item => _.some(data.array2, { $$key : item.$$key}));
或没有箭头功能:
var result = _.reject(data.array1, function(item) {
return _.some(data.array2, { $$key : item.$$key});
});
var data = {
"array1":[
{"name":"tom","lastname":"jacob","emailId":"tomjacob@gmail.com","$$key":"object:4"},
{"name":"will","lastname":"rogers","emailId":"willrogers@gmail.com","$$key":"object:24"},
{"name":"matt","lastname":"jacob","emailId":"mattjacob@gmail.com","$$key":"object:84"}],
"array2":[
{"name":"tom","lastname":"jacob","emailId":"tomjacob@gmail.com","$$key":"object:4"},
{"name":"matt","lastname":"jacob","emailId":"mattjacob@gmail.com","$$key":"object:84"}]
}
var result = _.reject(data.array1, item => _.some(data.array2, { $$key : item.$$key}));
document.getElementById('result').textContent = JSON.stringify(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.2/underscore.js"></script>
<p>
<pre id="result"></pre>
</p>
假设我有 array1 和 array2,需要找到一种方法来找到 array1 而不是 array2 中的项目,
array1":[{"name":"tom","lastname":"jacob","emailId":"tomjacob@gmail.com","$$key":"object:4"},{"name":"will","lastname":"rogers","emailId":"willrogers@gmail.com","$$key":"object:24"},{"name":"matt","lastname":"jacob","emailId":"mattjacob@gmail.com","$$key":"object:84"}]
array2":[{"name":"tom","lastname":"jacob","emailId":"tomjacob@gmail.com","$$key":"object:4"},{"name":"matt","lastname":"jacob","emailId":"mattjacob@gmail.com","$$key":"object:84"}]
**i need to get a new array**
**result:**[{"name":"will","lastname":"rogers","emailId":"willrogers@gmail.com","$$key":"object:24"}]
var result = _.reject(data.array1, item => _.some(data.array2, { $$key : item.$$key}));
或没有箭头功能:
var result = _.reject(data.array1, function(item) {
return _.some(data.array2, { $$key : item.$$key});
});
var data = {
"array1":[
{"name":"tom","lastname":"jacob","emailId":"tomjacob@gmail.com","$$key":"object:4"},
{"name":"will","lastname":"rogers","emailId":"willrogers@gmail.com","$$key":"object:24"},
{"name":"matt","lastname":"jacob","emailId":"mattjacob@gmail.com","$$key":"object:84"}],
"array2":[
{"name":"tom","lastname":"jacob","emailId":"tomjacob@gmail.com","$$key":"object:4"},
{"name":"matt","lastname":"jacob","emailId":"mattjacob@gmail.com","$$key":"object:84"}]
}
var result = _.reject(data.array1, item => _.some(data.array2, { $$key : item.$$key}));
document.getElementById('result').textContent = JSON.stringify(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.2/underscore.js"></script>
<p>
<pre id="result"></pre>
</p>