我有一个JavaScript对象。是否有一种内置或公认的最佳实践方法来获取此对象的长度?
const myObject = new Object();
myObject["firstname"] = "Gareth";
myObject["lastname"] = "Simpson";
myObject["age"] = 21;
我有一个JavaScript对象。是否有一种内置或公认的最佳实践方法来获取此对象的长度?
const myObject = new Object();
myObject["firstname"] = "Gareth";
myObject["lastname"] = "Simpson";
myObject["age"] = 21;
当前回答
我们可以使用以下公式来计算Object的长度:
const myObject={};console.log(Object.values(myObject).length);
其他回答
<脚本>myObj={“key1”:“您好”,“key2”:“再见”};var size=对象.keys(myObj).length;console.log(大小);</script><p id=“myObj”><b>myObj</b>中<b>键的数量为:<script>document.write(size)</script></p>
这对我有用:
var size = Object.keys(myObj).length;
使用Object.keys(myObject).length获取对象/数组的长度
var myObject=新对象();myObject[“firstname”]=“Gareth”;myObject[“lastname”]=“Simpson”;myObject[“age”]=21;console.log(Object.keys(myObject).length)//3.
简单的解决方案:
var myObject = {}; // ... your object goes here.
var length = 0;
for (var property in myObject) {
if (myObject.hasOwnProperty(property)){
length += 1;
}
};
console.log(length); // logs 0 in my example.
在对象继承的情况下,Object.keys不会返回正确的结果。要正确计算对象财产,包括继承的属性,请使用for-in。例如,通过以下函数(相关问题):
var objLength = (o,i=0) => { for(p in o) i++; return i }
var myObject=新对象();myObject[“firstname”]=“Gareth”;myObject[“lastname”]=“Simpson”;myObject[“age”]=21;var child=对象.create(myObject);child[“sex”]=“男性”;var objLength=(o,i=0)=>{for(p in o)i++;return i}console.log(“Object.keys(myObject):”,Object.keyes(myObject).length,“(OK)”);console.log(“Object.keys(child):”,Object.keyes(child).length,“(错误)”);console.log(“objLength(child):”,objLength“child),”(OK)“);
如果你知道你不必担心hasOwnProperty检查,你可以这样使用Object.keys()方法:
Object.keys(myArray).length