<~~快速表示什么?

时间:2018-07-06 08:01:04

标签: ios json swift

在迅速检查JSON解析器时,我发现以下代码:

selectedLanguages

我认为使用以下内容类似:

const pages=[{"id":1,"name":"name1","languages":[{"id":1,"lang":"en"},{"id":2,"lang":"de"}]},{"id":2,"name":"name2","languages":[{"id":1,"lang":"en"},{"id":2,"lang":"de"}]}]
const selectedLanguages=['en'];
console.log(
  pages.filter(({ languages }) => (
    languages.some(({ lang }) => selectedLanguages.includes(lang))
  ))
)

对吗?如果没有,这个运算符是什么意思?

谢谢

1 个答案:

答案 0 :(得分:12)

你是对的。但是,假设这就是Swift中要执行的操作是错误的。

我认为使用的解析器是Gloss,似乎他们已经写了一个运算符重载来专门表示redirectTo(和/或其他一些东西以简化解析)。运算符在Swift中没有本身的含义。但是它是由框架发明的,可以进行解析。

您可以了解操作符重载here

编辑

我总是错误地使用术语运算符重载和可互换地定义自定义运算符。运算符重载扩展了现有运算符的实现,这与定义自己的自定义运算符不同。非常感谢@Giacomo Alzetta指出这一点!