# 数组中的最长单词

# 难度:简单

# 描述:

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

# 样例:

;['dog', 'google', 'facebook', 'internationalization', 'blabla']
1

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

;['like', 'love', 'hate', 'yes']
1

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

# 思路分析:

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

# 代码模板:

const Solution = arr => {}
1

# 想一想再看答案

# 想一想再看答案

# 想一想再看答案

# 代码:

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))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

# 点个Star支持我一下~