1. 程式人生 > >Object.keys()列舉屬性名

Object.keys()列舉屬性名

Object.keys()列舉自身屬性的屬性名,返回一個值為字串型別的陣列

注意:排列順序和使用for in迴圈遍歷屬性名的順序一致,區別是for in會遍歷出物件從原型鏈上繼承到的可列舉屬性

//陣列
var arr = [1,2,3,4];
console.log(Object.keys(arr));
//['0','1','2','3']

//類陣列物件
var arr1 = {'name':'Jack','age':'17','sex':'man'};
console.log(Object.keys(arr1));
//['name','age','sex']
//排序
console.log(Object.keys(arr1).sort());
//['age','name','sex']
如果你想獲取到一個物件上的所有屬性,包括不可列舉的,可以使用Object.getOwnPropertyNames()代替Object.keys()
//陣列
var arr = [1,2,3,4];
console.log(Object.getOwnPropertyNames(arr));
//['0','1','2','3','length']

//類陣列物件
var arr1 = {'name':'Jack','age':'17','sex':'man'};
console.log(Object.getOwnPropertyNames(arr1));
//['name','age','sex']
參考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/keys