Object.keys()
方法是 JavaScript 中用于获取一个对象自身可枚举属性的方法。它返回一个由对象的属性名组成的数组。下面详细解释了 Object.keys()
方法的使用方式。
Object.keys(obj)
obj
:要获取属性名的对象。// 创建一个示例对象
const person = {
firstName: 'Tom',
lastName: 'Cruise',
age: 30,
};
// 使用 Object.keys() 获取对象的属性名数组
const keys = Object.keys(person);
// 打印属性名数组
console.log(keys); // 输出: ['firstName', 'lastName', 'age']
// 使用数字作为属性名
var obj1 = { 5: "a", 2: "b", 3: "c"};
console.log(Object.keys(obj1)); // ["2", "3", "5"]
// 传入字符串
var str = 'abc123';
console.log(Object.keys(str)); //['0', '1', '2', '3', '4', '5']
// 数组
var arr = ["a", "b", "c"];
console.log(Object.keys(arr)); // ["0", "1", "2"]
// 含有方法
const obj = {
a: 1,
b: 2,
f: function() {
return 'hello';
}
};
const keys = Object.keys(obj);
console.log(keys); // 输出: ['a', 'b', 'f']
Object.keys()
只返回对象自身的属性,不包括继承的属性。只有那些具有 enumerable
特性设置为 true
的属性才会被包括在结果数组中。
结果数组中的属性名的顺序与属性在对象上定义的顺序无关。属性名的顺序可能是随机的,因此不应依赖于它们的顺序。
如果传递给 Object.keys()
的参数不是一个对象,而是一个非对象值(如字符串、数字等),它将抛出一个错误。
const nonObject = 1;
const keys = Object.keys(nonObject); // TypeError: nonObject is not an object
Object.keys()
的参数是 null
或 undefined
,它将抛出一个错误。const obj = null;
const keys = Object.keys(obj); // TypeError: Cannot convert undefined or null to object
const obj = undefined;
const keys = Object.keys(obj); // TypeError: Cannot convert undefined or null to object
综上所述,Object.keys()
是一个用于获取对象自身属性名的实用方法,可以在许多情况下用于迭代对象的属性。要注意的是,它只返回自身可枚举属性,不包括继承的属性。
Qt是一个跨平台的 C++图形用户界面库。QT一度被诺基亚拥,后出售给芬兰的软件公司Digia Oyj。PyQt5是基于Digia公司Qt5的Python接口,由一组Python模块构成。PyQt5本身拥有超过620个类和6000函数及方法。