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