我正在尝试理解这行代码。减号和波浪线对r[e]做了什么?
r = {}
for (e of s)
r[e] = -~r[e] // What is this specific line assigning?
for (e in r)
if (r[e] == 1)
return e
return '_'
这段代码解决的问题是(具体的行已有注释):
给定一个字符串s,找到并返回其中第一个不重复的字符。如果没有这样的字符,则返回'_'。
除了被注释的那一行,我理解其他的行。
for (e in r)
按照它们被创建的顺序迭代属性。 - melpomene