KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
If you read the comments at the jQuery inArray page here , there's an interesting declaration: !!~jQuery.inArray(elm, arr) Now, I believe a double-exclamation point will convert the result to type boolean , with the value of true . What I don't understand is what is the use of the tilde ( ~ ) operator in all of this? var arr = ["one", "two", "three"]; if (jQuery.inArray("one", arr) > -1) { alert("Found"); } Refactoring the if statement: if (!!~jQuery.inArray("one", arr)) { alert("Found"); } Breakdown: jQuery.inArray("one", arr) // 0 ~jQuery.inArray("one", arr) // -1 (why?) !~jQuery.inArray("one", arr) // false !!~jQuery.inArray("one", arr) // true I also noticed that if I put the tilde in front, the result is -2 . ~!!~jQuery.inArray("one", arr) // -2 I don't understand the purpose of the tilde here. Can someone please explain it or point me towards a resource?
Tags (comma-separated)
Save Edits
Cancel