[英]How do I assign my .reduce function output to a variable?
給定一個對象和一個鍵, getElementsThatEqual10AtProperty
返回一個數組,該數組包含位於給定鍵處的等於10的數組的所有元素。
我想將.reduce
方法輸出的內容分配給一個變量,然后在if
語句中使用該變量。 我的代碼評估為NaN
。
function getElementsThatEqual10AtProperty(obj, key) {
var arrayTotal = 0;
obj[key].reduce(function(a,b){
arrayTotal = a + b;
});
if(arrayTotal === 10) {
return obj[key];
}
};
您正在錯誤地reduce
。 您幾乎像Array#forEach
一樣使用它。 請記住,回調是函數。 他們期望return
一個實際值。
閱讀文檔時,您會發現reduce還需要一個accumulator
,這是回調之后的一個參數。
const sum = obj[key].reduce(function(a,b){
return a + b
}, 0)
或者,如果您需要更新和更漂亮的版本:
const sum = obj[key].reduce((a,b) => a + b, 0)
當您有一個班輪時, return
是隱式的,這意味着它是隱式的,而不是顯式的。
累加器是您的值開始時的總和。
Array.reduce(callback, accumulator)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.