const object1 = {a: 'somestring',b: 42,c: false
};console.log(Object.values(object1));
// expected output: Array ["somestring", 42, false]
該Object.values()
方法返回給定對象自己的可枚舉屬性值的數組,其順序與for...in
循環提供的順序相同(區別在于for-in循環枚舉了原型鏈中的屬性)。
// simple array
var arr = ['a', 'b', 'c'];
console.log(Object.keys(arr)); // console: ['0', '1', '2']// array like object
var obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.keys(obj)); // console: ['0', '1', '2']// array like object with random key ordering
var anObj = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.keys(anObj)); // console: ['2', '7', '100']// getFoo is a property which isn't enumerable
var myObj = Object.create({}, {getFoo: {value: function () { return this.foo; }}
});
myObj.foo = 1;
console.log(Object.keys(myObj)); // console: ['foo']
Object.keys()
返回一個數組,其元素是與直接在其上找到的可枚舉屬性對應的字符串object
。這些屬性的排序與通過手動循環對象的屬性給出的順序相同。