0

我需要检查数组中的对象是否包含属性,如果是,属性的​​值是否匹配。

属性和值在函数调用中一起给出:

whatIsInAName(
    [
        { first: "Romeo", last: "Montague" }, 
        { first: "Mercutio", last: null }, 
        { first: "Tybalt", last: "Capulet" }
    ], 
    { last: "Capulet" }); //Property: last, value: Capulet.

函数定义:

function whatIsInAName(collection, source) {

无论如何我都找不到将属性与值分开(它们都在内部source),以便我可以首先检查属性是否存在,hasOwnProperty如果存在,然后比较值。

4

1 回答 1

0

您可以使用Object.getOwnPropertyNames()。它返回对象的属性名称数组。

console.log(Object.getOwnPropertyNames(source));
// ['last']
于 2017-01-13T22:22:57.177 回答