摘要:需要注意的是返回一個(gè)對(duì)象的所有可枚舉自身屬性的屬性名組成的數(shù)組是個(gè)不可枚舉的屬性只彈出屬性名的排列順序具有隨機(jī)鍵排序的數(shù)組類對(duì)象會(huì)遍歷出這個(gè)對(duì)象從原型鏈繼承到的可枚舉屬性,而不會(huì)這里是第一次調(diào)用時(shí)的第一個(gè)參數(shù)結(jié)果為
以下是代碼,這里我們只講解這段代碼
function cakes(recipe, available) { return Object.keys(recipe).reduce(function(val, ingredient) { return Math.min(Math.floor(available[ingredient] / recipe[ingredient] || 0), val) }, Infinity) }Object.keys()
首先是Object.keys(),這里我剛看到的時(shí)候并不知道這是什么方法,然后去MDN查了查這個(gè)方法,發(fā)現(xiàn)
Object.keys()方法會(huì)返回一個(gè)由給定對(duì)象的所有可枚舉自身屬性的屬性名組成的數(shù)組,數(shù)組中屬性名的排列順序和使用for-in循環(huán)遍歷該對(duì)象時(shí)返回的順序一致 (順序一致不包括數(shù)字屬性)(兩者的主要區(qū)別是 for-in 還會(huì)遍歷出一個(gè)對(duì)象從其原型鏈上繼承到的可枚舉屬性)。
需要注意的是:
1.返回一個(gè)對(duì)象的所有可枚舉自身屬性的屬性名組成的數(shù)組
// getFoo是個(gè)不可枚舉的屬性 var my_obj = Object.create({}, { getFoo : { value : function () { return this.foo } } }); my_obj.foo = 1; alert(Object.keys(my_obj)); // 只彈出foo
2.屬性名的排列順序
//具有隨機(jī)鍵排序的數(shù)組類對(duì)象 var an_obj = { 100: "a", 2: "b", 7: "c" }; console.log(Object.keys(an_obj)); // console: ["2", "7", "100"]
3.for-in會(huì)遍歷出這個(gè)對(duì)象從原型鏈繼承到的可枚舉屬性,而keys()不會(huì)
reduce()arr.reduce(callback,[initialValue]),這里initialValue是第一次調(diào)用callback時(shí)的第一個(gè)參數(shù)
[0,1,2,3,4].reduce( (accumulator, currentValue, currentIndex, array) => { return accumulator + currentValue; }, 10); //結(jié)果為10+0+1+2+3+4=20
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/81405.html
摘要:中的所有對(duì)象都來自父的構(gòu)造函數(shù)。不同于數(shù)組的原型方法例如和只能被數(shù)組實(shí)例使用,對(duì)象方法直接來自構(gòu)造函數(shù),并使用對(duì)象實(shí)例作為參數(shù)。這稱為靜態(tài)方法。創(chuàng)建對(duì)象的鍵值對(duì)的嵌套數(shù)組??捎糜诖_定對(duì)象是否已凍結(jié),并返回布爾值。 原文:How To Use Object Methods in JavaScript作者:Tania Rascia譯者:博軒 介紹 JavaScript 中,對(duì)象是 鍵/值 ...
摘要:例如傳入字符串,數(shù)組,返回索引傳入對(duì)象,返回對(duì)象的好了了解了下面我們就可以進(jìn)行地址與對(duì)象的拼接了地址與對(duì)象拼接的代碼地址的參數(shù)取值代碼第一種方法傳統(tǒng)字符串轉(zhuǎn)對(duì)象第二種方法正則調(diào)用方法 有時(shí)候我們封裝一個(gè)ajax的get的方法需要把對(duì)象拼接到地址上面,這里我介紹一個(gè)Object.keys,這是一個(gè)非常好用對(duì)象屬性。例如說 const url = http://127.0.0.1:4000...
摘要:返回值在指定原型對(duì)象上添加新屬性后的對(duì)象。該方法返回值被用作屬性值。這個(gè)方法返回值就是屬性存取表達(dá)式返回的值。 走在前端的大道上 最后更新 2018.12.27 本篇將自己讀過的相關(guān) javascript Object方法 文章中,對(duì)自己有啟發(fā)的章節(jié)片段總結(jié)在這(會(huì)對(duì)原文進(jìn)行刪改),會(huì)不斷豐富提煉總結(jié)更新。 1.Object.keys遍歷 返回一個(gè)數(shù)組,包括對(duì)象自身的(不含繼承的)所有...
摘要:屬性是函數(shù)獨(dú)有的,表明該對(duì)象可以被執(zhí)行。李四張三張三李四李四李四張三屬性探測(cè)由于屬性可以在任何時(shí)候添加,所以有時(shí)候就有必要檢查對(duì)象是否已有一個(gè)屬性。張三屬性特征通過方法來改變屬性特征。 1.[[Call]]屬性是函數(shù)獨(dú)有的,表明該對(duì)象可以被執(zhí)行。由于僅函數(shù)擁有該對(duì)象,ECMAScript定義typeof操作符對(duì)任何具有[[Call]]屬性的對(duì)象返回function。 注:某些瀏覽器曾經(jīng)...
摘要:一可以用作對(duì)象的復(fù)制可以用作對(duì)象的合并注意目標(biāo)對(duì)象自身也會(huì)改變。對(duì)象四返回一個(gè)數(shù)組,包括對(duì)象自身的不含繼承的所有可枚舉屬性不含屬性的鍵名。該方法返回被凍結(jié)的對(duì)象。方法判斷一個(gè)對(duì)象是否被凍結(jié)。 JavaScript對(duì)Object對(duì)象的一些常用操作總結(jié)。 一、Object.assign() 1.可以用作對(duì)象的復(fù)制 var obj = { a: 1 }; var copy = Object....
閱讀 2470·2019-08-30 15:53
閱讀 2583·2019-08-29 13:11
閱讀 2671·2019-08-29 12:45
閱讀 3498·2019-08-29 12:41
閱讀 2340·2019-08-26 10:14
閱讀 2167·2019-08-23 14:39
閱讀 2319·2019-08-23 12:38
閱讀 3386·2019-08-23 12:04