📅  最后修改于: 2020-10-25 11:40:33             🧑  作者: Mango
Object.getOwnPropertyNames()方法返回直接在给定对象上找到的所有属性(使用符号的那些不可枚举的属性除外)的数组。
Object.getOwnPropertyNames(obj)
obj:这是要返回其可枚举和不可枚举自身属性的对象。
此方法返回一个字符串数组,该字符串数组对应于直接在对象上找到的属性。
Chrome | 5 |
Edge | Yes |
Firefox | 4 |
Opera | 12 |
const object1 = {
a: 0,
b: 1,
c: 2,
};
console.log(Object.getOwnPropertyNames(object1));
输出:
["a", "b", "c"]
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"
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