JavaScriptのIndexOf ()できちんとした小さなトリック
3021 ワード
私が私が編集しなければならなかったか、再び伸びるいくつかのプラグインを通して閲覧している間、私が拾った小さいトリックは、ここにあります
ビット単位のNOT演算子
var arr = [ 1, 2, 3, 'foo' ];
// old way
if (arr.indexOf('foo') > -1) {
console.log('"foo" is in "arr"!');
}
// new way
if (~arr.indexOf('foo')) {
console.log('"foo" is in "arr"!');
}
私は疑問-どのようにその仕事ですか?それは私が使用していないか、まだ見たこの小さな演算子のためですビット単位のNOT演算子
~
それは数のすべてのビットを反転させる、私はそれが正確にどのように動作するかわからないが、それは、-1
は、虚偽の数、またはむしろ偽の式で終わる唯一のケースであると思われる:0
つまり、我々はそれを利用することができますし、indexofで使用することができます.// you can also negate the statement, no separate parantheses needed
if (!~dailyRoutine.indexOf('☕️')) {
console.log('Not a life worth living');
}
これについてどう思いますか.私は、それが確かにきちんと見えて、コードで若干の性格を保存すると思います、しかし、それは後でそれを読む人々を混乱させることができましたReference
この問題について(JavaScriptのIndexOf ()できちんとした小さなトリック), 我々は、より多くの情報をここで見つけました https://dev.to/werninator/a-neat-little-trick-with-javascripts-indexof-4dj5テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol