如何区分函数中传递的属性和值

时间:2017-01-13 21:59:18

标签: javascript object hasownproperty

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

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

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一起存在,如果存在,则进行比较价值。

1 个答案:

答案 0 :(得分:0)

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

console.log(Object.getOwnPropertyNames(source));
// ['last']