Javascript 如何从对象链中获得两个对象的长度

Javascript 如何从对象链中获得两个对象的长度,javascript,object,prototype,Javascript,Object,Prototype,假设我创建一个对象,如下所示 const myObj1 = { firstName: "Shaheb", lastName: "Ali", professions:"Web Developer" } 并使用上面的对象创建另一个对象以添加为原型对象 const myObj2 = Object.create(myObj1, { age:{ value:33 }, edu:{ value: "MBA" } }); 现在

假设我创建一个对象,如下所示

const myObj1 = {
    firstName: "Shaheb",
    lastName: "Ali",
    professions:"Web Developer"
}
并使用上面的对象创建另一个对象以添加为原型对象

const myObj2 = Object.create(myObj1, {
    age:{
      value:33
    },
    edu:{
      value: "MBA"
    }
});

现在我想一起计算两个对象的长度,如果我理解OP目标,我该如何计算

const myObj1 = {
    firstName: "Shaheb",
    lastName: "Ali",
    professions:"Web Developer"
}

const myObj2 = {
    age:{
      value:33
    },
    edu:{
      value: "MBA"
    }
};

const result = {...myObj1, ...myObj2};
console.log(result);

const length = Object.keys(result).length;
console.log(length);
{名字:'Shaheb',
姓氏:“阿里”,
职业:“Web开发人员”,
年龄:{value:33},
教育单元:{value:'MBA'} }

五,


我知道您希望获得对象中所有关键点的计数。由于对象(仅适用于数组)没有可用的
length
属性,因此应使用,它返回包含所有键的数组:

const myObj1 = {
    firstName: "Shaheb",
    lastName: "Ali",
    professions:"Web Developer"
}
Object.keys(myObj1).length; // would return '3'
我相信您实际上想要使用的不是
Object.create()
,而是将
myObj1
中的所有键分配给
myObj2

const myObj1={
名字:“沙赫布”,
姓:“阿里”,
职业:“网络开发者”
}
常数myObj2={
年龄:{
价值:33
},
教育部:{
价值观:“MBA”
}
}
赋值(myObj2,myObj1);
document.write(Object.keys(myObj2.length+“
”);//返回'5' document.write(Object.keys(myObj1.length);//返回'3'
const obj=Object.create(myObj1,myObj2); 创建原型对象如下所示

{年龄:33岁,教育大学:“MBA”} 年龄:33 教育大学:“MBA” proto: 名字:“沙赫布” 姓:“阿里” 职业:“网络开发者” 原型:对象

但指定一个对象就像将2个对象合并为一个对象。这不可能从平面对象和原型对象一起获得长度吗


但是你的ans太棒了,帮我把它弄明白。如果不可能,那么我将按照您的建议进行操作。

您的两个对象都没有
.length
。你到底想数多少?预期的结果是什么?对象实际上没有长度,我假设您想要计算键的数量,但是在这种情况下,您可以使用
对象.keys(myObj2).length
@shaheb我的建议有帮助吗?@shaheb没有,它没有显示0,因为(一些)键在原型上。它显示为0,因为
myObj2
的自身键是。@shaheb您不想要使用
对象的动态原型继承吗。创建
?顺便说一句,仅仅因为你的
size
函数没有计算它们并不意味着你不能访问这些属性
myObj2.lastName
myObj2.edu
效果很好。这是我获得let of object的作品,谢谢你的支持help@shaheb您指的是哪一条注释,带有Object.size函数的注释?