SOURCE

function isAPropEqualsB(a, aPropPath, b) {
    if (a == null) return false;

    let aVal;
    let path = aPropPath.split('.');
    let startObj = a;
    for (const i in path) {
        if (startObj == null) return false;

        const name = path[i];
        aVal = startObj[name];

        if (parseInt(i) === path.length - 1) {
            // 最后一个
            return aVal === b;
        } else {
            startObj = aVal;
        }
    }

    return false;
}

{
    var a = {name:"ab", form: { age: 3 } }
    var b = "ab"
    console.log(isAPropEqualsB(a, 'name', b))
}
{
    var a = {name:"ab", form: { age: 3 } }
    var b = 3
    console.log(isAPropEqualsB(a, 'form.age', b))
}
{
    var a = {name:"ab", form: { age: 3 } }
    var b = 4
    console.log(isAPropEqualsB(a, 'form.age', b))
}
{
    var a = {name:"ab", form: { age: 3 } }
    var b = 3
    console.log(isAPropEqualsB(a, 'form.tt', b))
}
console 命令行工具 X clear

                    
>
console