JavaScript Object.getOwnPropertyNames() 方法
Object.getOwnPropertyNames() 方法返回一个数组,包含给定对象的所有属性(除了使用符号的不可枚举属性)。
语法:
Object.getOwnPropertyNames(obj)
参数:
obj :它是要返回可枚举和不可枚举的自有属性的对象。
返回值:
此方法返回与在对象上直接找到的属性对应的字符串数组。
浏览器支持:
Chrome | 5 |
---|---|
Edge | Yes |
Firefox | 4 |
Opera | 12 |
示例1
const object1 = {
a: 0,
b: 1,
c: 2,
};
console.log(Object.getOwnPropertyNames(object1));
输出:
["a", "b", "c"]
示例2
var obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.getOwnPropertyNames(obj).sort()); // logs '0,1,2'
// Logging property names and values using Array.forEach
Object.getOwnPropertyNames(obj).forEach(function(val, idx, array) {
console.log(val + ' -> ' + obj[val]);
});
输出:
["0", "1", "2"]
"0 -> a"
"1 -> b"
"2 -> c"
示例3
function Pasta(grain, size, shape) {
this.grain = grain;
this.size = size;
this.shape = shape;
}
var spaghetti = new Pasta("wheat", 2, "circle");
var names = Object.getOwnPropertyNames(spaghetti).filter(CheckKey);
document.write(names);
// Check whether the first character of a string is 's'.
function CheckKey(value) {
var firstChar = value.substr(0, 1);
if (firstChar.toLowerCase() == 's')
return true;
else
return false; }
输出:
size,shape