Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用时出现问题?:Array.prototype.findIndex中的运算符_Javascript_Jquery - Fatal编程技术网

Javascript 使用时出现问题?:Array.prototype.findIndex中的运算符

Javascript 使用时出现问题?:Array.prototype.findIndex中的运算符,javascript,jquery,Javascript,Jquery,例如: var img=$'img'; var div=$'div'; var arr=['1','2','3']; console.logarr.findIndexx=>x==img.length?img.prop'id':div.prop'id'; console.logarr.findIndexx=>x==img.length?img.prop'id':div.prop'id'; 在代码中,x始终是一个字符串,img.length将是一个数字,因此它们永远不会严格相等 因此,它被评估为:

例如:

var img=$'img'; var div=$'div'; var arr=['1','2','3']; console.logarr.findIndexx=>x==img.length?img.prop'id':div.prop'id'; console.logarr.findIndexx=>x==img.length?img.prop'id':div.prop'id'; 在代码中,x始终是一个字符串,img.length将是一个数字,因此它们永远不会严格相等

因此,它被评估为:

(x === img.length) ? img.prop('id') : div.prop('id')
(false           ) ? img.prop('id') : div.prop('id')
                                      div.prop('id')
                                      2

findIndex等待真实值,div.prop'id'为2,这是真实值。它在第一个索引中返回此值,这就是它返回0的原因。

您的第一个案例的计算结果为arr.findIndexx=>2,它在第一个迭代索引0中的计算结果始终为true。谢谢!我通过将div的id更改为0再次进行了测试,结果记录为-1。类似于:如果条件为true,则数组中的第一项为match,无需继续比较2===1,否则返回-1。对吗?无论数组的哪个迭代返回true,都是结果。