1. 程式人生 > >Object.keys(),Object.values(),Object.entries()

Object.keys(),Object.values(),Object.entries()

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()