我很想知道,说我有类似以下内容:
console.log(element.find('div').eq(3).text().indexOf('whatever'));
请记住,element
已定义且控制台正在记录值32(或任何非-1的值),这将是将结果转换为布尔值的最佳方法,因此我的{{ 1}}输出console.log
或true
提前致谢。
答案 0 :(得分:15)
上面的答案是有效的,但如果你像我一样讨厌,你会更喜欢这个:
console.log(~element.find('div').eq(3).text().indexOf('whatever'));
晦涩难懂的'〜' javascript中的运算符执行操作"值* -1 - 1",例如~-2 === 1.
我曾经遇到的唯一用例是转换"未找到" -1来自" .indexOf()"进入" 0" (javascript中的假值),跟进并看到它将转换在位置" 0"处找到的索引。 to" -1",一个真正的价值。
tldr:
~[1,2,3].indexOf(0) // => 0
!!~[1,2,3].indexOf(0) // => false
~[1,2,3].indexOf(1) // => -1
!!~[1,2,3].indexOf(1) // => true
答案 1 :(得分:11)
console.log(element.find('div').eq(3).text().indexOf('whatever') > -1);