目前這樣做的挑戰:https://www.codewars.com/kata/shortest-word/train/javascript爲什麼在reduce函數中返回局部變量的長度會引發錯誤?
查找字符串中最短的單詞長度。
這工作:
function findShort(s){
return s.split(' ').reduce((a, b) => b.length < a.length ? b : a).length;
}
但這並不:
function findShort(s){
return s.split(' ').reduce((a, b) => b.length < a.length ? b.length : a.length);
}
任何想法,爲什麼我不能返回的長度或b即使它們應該是字符串?我清楚地缺少的東西在這裏...
感謝
你不需要編寫自己的邏輯來找到列表的最小值--Math.min已經做到了。嘗試'Math.min(... s.split('').map(({length})=> length)'。 – 2017-01-22 17:03:21