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