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


(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() //用對象去(帶原型帶屬性)創建新對象 //使用指定的原型對象及其屬性去新建一個新的對象
var o = Object.create(Object.prototype,{
foo:{
writable:true,
configurable:true,
value:'hello'
},
bar:{
configurable:false,
get:function(){return 10},
set:function(value){
console.log('-----')
}
}
})
console.log(o)
(5)includes() //用來判斷一個數組是否包含指定的值,true/false
   arr.includes(searchElement)
arr.includes(searchElement,fromIndex)//fromIndex :從該索引處往后查找,
 (1)相當於indexOf的補充
var arr = ['a','b','c','d','NaN']
arr.incudes('NaN')//true
arr.indexOf('NaN') //-1
(2)第二個參數表示判斷的起始位置
為負數時:從右面過來第幾個,搜索方向還是從左到右





 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM