gpt4 book ai didi

javascript - 判断数组中的某个元素是否为字符串

转载 作者:行者123 更新时间:2023-11-28 15:02:54 27 4
gpt4 key购买 nike

给定一个混合类型数组,“getLongestWordOfMixedElements”返回给定数组中最长的字符串。

注释:

  • 如果数组为空,则应返回空字符串 ("")。
  • 如果数组不包含字符串;它应该返回一个空字符串。

如何确定数组是否包含字符串,如以下代码所示:

function getLongestWordOfMixedElements(arr) {

if (arr.length === 0) return ""
var max = 0
for (var i = 0; i < arr.length; i++){
if(arr[i].length > max) max = arr[i]
}
return max
}

getLongestWordOfMixedElements([3, 'word', 5, 'up', 3, 1]);

最佳答案

您可以过滤数组中的字符串,然后使用减少操作来查找最长的字符串

function getLongestWordOfMixedElements(arr) {
return arr
.filter(item => typeof item === 'string')
.reduce((longest, str) => str.length > longest.length ? str : longest, '');
}

console.log(getLongestWordOfMixedElements([3, 'word', 5, 'up', 3, 1]));

<小时/>

请注意,如果任何单词长度相同,则返回数组中较早的单词。

<小时/>

此外,您可以跳过过滤器并在reduce中进行类型检查...

return arr.reduce((longest, str) => {
return typeof str === 'string' && str.length > longest.length ?
str : longest;
}, '')

关于javascript - 判断数组中的某个元素是否为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40275948/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com