使用lodash:检查现有对象数组和输入之间是否存在重复的名称

时间:2016-08-12 21:08:18

标签: javascript underscore.js lodash

我想知道输入的名字是否已存在于我的记录集中。

var recordset = [{
    firstName: 'John',
    lastName: 'Doe'
}, {
    firstName: 'Richard',
    lastName: 'Smith'
}];

var data = {
    firstName: 'John',
    lastName: 'Doe'
};

function checkDups(data, recordset) {
    var retVal = false;

    //loop through datum in recordset
    //check datum.firstName === data.firstName && datum.lastName === data.lastName
    // if true then retVal = true;
    // else repeat until end;

    return retVal;
};

预期结果应为TRUE

1 个答案:

答案 0 :(得分:0)

您可以使用_.some

function checkDups(data, recordset) {
  return _.some(recordset, data);
}

var recordset = [{
    firstName: 'John',
    lastName: 'Doe'
}, {
    firstName: 'Richard',
    lastName: 'Smith'
}];

var data = {
    firstName: 'John',
    lastName: 'Doe'
};

function checkDups(data, recordset) {
    return _.some(recordset, data);
};

console.log(checkDups(data, recordset));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.15.0/lodash.min.js"></script>