假设我正在编写一个像这样的函数:
function longestString (someArray) {
// code
}
如果someArray = ['word','longerphrase',['a','b','c'],1234567891011121314151617]
,我希望函数只返回最长的数组中的字符串,并忽略其中可能存在的整数和其他数组。我试过这个:
function longestString (someArray) {
return someArray.sort(function (a, b) { return b.length - a.length; })[0];
}
它不起作用,我现在陷入困境。 :/
最佳答案
仅过滤字符串元素并执行
function longestString (someArray) {
return someArray
.filter(function(a){ return typeof(a)=='string' })
.sort(function (a, b) { return b.length - a.length; })[0];
}
关于javascript - 如何返回数组中最长的字符串 - 即使数组包含不是字符串的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31130182/