Javascript 如何比较两个数组?

Javascript 如何比较两个数组?,javascript,underscore.js,Javascript,Underscore.js,我有两个数组,余额和提交 balances = [ {name: 'vacation', value: ''21}, {name: 'account', value: '200'}, {name: 'order', value: '15'}, ] commits = [ {balanceName: 'vacation', paramName: 'number of days'}, {balanceName: 'order', paramName: 'number of items'} ]

我有两个数组,余额和提交

balances =  [
{name: 'vacation', value: ''21},
{name: 'account', value: '200'},
{name: 'order', value: '15'},
]

commits = [
{balanceName: 'vacation', paramName: 'number of days'},
{balanceName: 'order', paramName: 'number of items'}
]
我想删除提交中没有的表单余额,在本例中,我想删除余额中的帐户值,因为它不在提交的任何余额名称中
如何通过下划线或任何其他库来实现这一点无需库

function contains(commits, name)
{
    commits.some(function(x) { return x.balanceName === name});
}

for(blance in balances) {
    if (contains(commits, balance.name){
        // Remove balance
    }
}

您可以使用
undescore.js
这样做:

var余额=[
{name:'vacation',value:'21'},
{name:'account',value:'200'},
{name:'order',value:'15'}
]
变量提交=[
{balanceName:'休假',paramName:'天数'},
{balanceName:'order',paramName:'number of items'}
]
余额2=
_.filter(balances,(b)=>commits.map(c=>c.balanceName).indexOf(b.name)>-1);
log(“使用较短的语法”);
控制台日志(余额)
//或
平衡=
_.filter(balances,函数(b){return commits.map(函数(c){return c.balanceName}).indexOf(b.name)>-1});
log(“ES5语法”);
console.log(余额2)

您可以参考此链接,该链接可能与