最长单词

数组中的最长单词

难度:简单

描述:

给一个数组,找出其中所有最长的单词。

样例:

  1. 1
    2
    3
    4
    5
    6
    7
    [
    "dog",
    "google",
    "facebook",
    "internationalization",
    "blabla"
    ]

最长的单词集合为 ["internationalization"]

  1. 1
    2
    3
    4
    5
    6
    [
    "like",
    "love",
    "hate",
    "yes"
    ]

最长的单词集合为 ["like", "love", "hate"]

思路分析:

主要要注意一下第二个栗子中描述的情况,建议保存当前字符最大的长度,然后及时更新。

代码模板:

1
2
const Solution = (arr) => {
}

想一想再看答案

想一想再看答案

想一想再看答案

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
const Solution = (arr) => {
let store = {
arr: [], // 保存最长单词的数组
max: 1 // 字符串最大长度
}
arr.forEach(val => {
// 当前值的长度 超过或等于 最大字符串长度
if (val.length >= store.max) {
if (val.length === store.max) {
// 长度一样 将值添加进去
return store.arr.push(val); // 退出循环
}
store.arr = []; // 最大值比之前的大,清空原数组
store.arr.push(val); // 添加到数组
store.max = val.length; // 更新最大值
}
});
return store.arr; // 返回数组
}
let data1 = [
"like",
"love",
"yes",
"hate"
]
let data2 = [
"dog",
"google",
"facebook",
"internationalization",
"blabla"
]
console.log(Solution(data1), Solution(data2))

鼓励我一下:

觉得还不错的话,给我的点个star

听说,打赏我的人最后都找到了真爱。