我正在寫一個函數,它返回給定數組中的最長字符串。如果數組爲空,它應該返回一個空字符串(「」)。如果該數組不包含任何字符串;它應該返回一個空字符串。獲取最長的字 - JS
function longestWord(arr) {
var filtered = arr.filter(function(el) { return typeof el == 'number' });
if (filtered.length > 0) {
return Math.min.apply(Math, filtered);
} else {
return 0;
}
}
var output = longestWord([3, 'word', 5, 'up', 3, 1]);
console.log(output); // --> must be 'word'
現在我的代碼不會拉字,而是拉出數字。任何想法我錯過了什麼?
'typeof el =='string''? 'Array.prototype.filter()'返回數組**中符合條件**的所有元素。在你的情況下,你的意思是「我想匹配'typeof'等於'number'的所有元素,但是你想要的是匹配'string'類型的元素。 –
使用數組reduce可能是一個更好的解決方案 - 同樣,單詞永遠不會是答案,因爲您只查看不是字符串的元素 –