# 姓名去重

# 描述

给一串名字,将他们去重之后返回。两个名字重复是说在忽略大小写的情况下是一样的。

# 说明:

你可以假设名字只包含大小写字母和空格。

# 样例:

给出:

;[
	'James',
	'james',
	'Bill Gates',
	'bill Gates',
	'Hello World',
	'HELLO WORLD',
	'Helloworld'
]
1
2
3
4
5
6
7
8
9

返回:

;['james', 'bill gates', 'hello world', 'helloworld']
1

# 这题很简单,自己想一下!

# 这题很简单,自己想一下!

# 这题很简单,自己想一下!


# 题目分析:

  • 思路就是:去重和转小写

# code:

题目基本就像下面这样解了,其他的不过是循环的方法,去重的方法不同,事实上都大同小异。

const nameDeduplication = names => {
	names.forEach((value, index) => {
		names[index] = value.toLowerCase() // 全部转小写
	})
	return [...new Set(names)] // 去重
}
1
2
3
4
5
6

再讲一个坑吧:

题目描述的时候说是输出是这样的:

;['james', 'bill gates', 'hello world', 'helloworld']
1

当我把代码提交之后,告诉我,期望答案是这样的:

;['bill gates', 'hello world', 'helloworld', 'james']
1

一般来说不会这么坑:

return [...new Set(names)].sort() // 我在后面加了一个sort方法就符合他们的预期答案了。。
1

# 题目比较简单,就不放代码(上面就是)了。

2018.8.16

# 点个Star支持我一下~