我有一个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;
当前回答
在这里,您可以给出任何类型的可变数组、对象、字符串
function length2(obj){
if (typeof obj==='object' && obj!== null){return Object.keys(obj).length;}
//if (Array.isArray){return obj.length;}
return obj.length;
}
其他回答
像这样的怎么样--
function keyValuePairs() {
this.length = 0;
function add(key, value) { this[key] = value; this.length++; }
function remove(key) { if (this.hasOwnProperty(key)) { delete this[key]; this.length--; }}
}
这是最跨浏览器的解决方案。
这比接受的答案更好,因为它使用本机Object.keys(如果存在)。因此,它是所有现代浏览器中速度最快的。
if (!Object.keys) {
Object.keys = function (obj) {
var arr = [],
key;
for (key in obj) {
if (obj.hasOwnProperty(key)) {
arr.push(key);
}
}
return arr;
};
}
Object.keys(obj).length;
简单的内衬:
console.log(Object.values({id:“1”,年龄:23,角色编号:90}).length);
如果你知道你不必担心hasOwnProperty检查,你可以这样使用Object.keys()方法:
Object.keys(myArray).length
我们可以使用以下公式来计算Object的长度:
const myObject={};console.log(Object.values(myObject).length);