我正在使用和调整 MVC example包含在 Express.js 存储库中。
在其中一个模块中,有一个我不熟悉的 JavaScript 构造。目的是迭代对象上的键并跳过一些“保留”的键,但从 JavaScript Angular 来看,我不明白 波浪号 发生了什么。
for (var key in obj) {
if (~['name', 'prefix', 'engine', 'before'].indexOf(key)) continue;
}
我读到它是一个按位 NOT 运算符,但希望能以通俗易懂的方式解释它的含义以及它在这个特定示例中的作用。
最佳答案
如果未找到,
indexOf
返回-1
。 ~-1
为 0
,即 false
。所以整个事情的意思是:如果在数组中找到key
,则继续。
关于javascript - ~[Array].indexOf(key) 是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24479503/