Object.keys(),Object.values(),Object.entries()
阿新 • • 發佈:2018-09-15
col obj 添加 enume 指定 鍵值 所有 數值 新的
1、
(1)Object.keys() //返回 鍵 數組 返回數組,成員是參數對象自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵名。 eg:var obj = {a:1,b:‘gy‘} Object.keys(obj) // [‘a‘,‘b‘] (2)Object.values() //返回 值 數組 返回數組,成員是參數對象自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵值 eg1:var obj = {a:1,b:‘gy‘} Object.values(obj) //[‘a‘,‘b‘]eg2:var obj = Object.create({},{p:{value:42}}); Object.values(obj) //[] //Oject.create的第二個參數添加的對象屬性,如果不顯示聲明,默認是不可遍歷的,所以Object.values不會返回這個屬性 eg3:Object.values({[Symbol()]:123,foo:‘abc‘}) //[‘abc‘] Object.values 會過濾屬性名為 Symbol 值得屬性 eg4:Object.values(‘foo‘) //[‘f‘,‘0‘,‘o‘]//如果參數不是對象,Object會將其轉為對象 eg5:Object.values(42) //[] Object.values(true) //[] //數值和boolean的包裝對象 ,都不會成為實例添加非繼承的屬性
(3)Object.entries() //返回 鍵值對 數組
var obj = {a:‘11‘,b:‘name‘}
Object.entries(obj) //[[‘a‘,‘11‘],[‘b‘,22]]
//用法和Object非常相似 (4)Object.create() //用對象去(帶原型帶屬性)創建新對象//使用指定的原型對象及其屬性去新建一個新的對象
Object.keys(),Object.values(),Object.entries()