【发布时间】:2011-09-26 14:49:02
【问题描述】:
如图所示,我只是在一个数组上做 inArray,寻找一个节点。并且 $previously_selected_node 和 $shapes 中索引 37 处的项目是同一个对象......所以......为什么它不起作用?
编辑: 在其中一个回答者发布了他的答案后,我找到了另一种搜索方式:
var result = -1;
jQuery.each(shapes, function(key, value){
if (value.id == shape.id){
result = key;
}
});
return result;
显然,我的部分问题是我无法在循环中间返回。 (我在找到匹配项时立即返回,这导致了一些问题。)
【问题讨论】:
-
$shapes有length吗? -
$shapes.length 是未定义的......所以......那么它实际上不是一个数组,即使我像 $shapes[id] = val;那么...那我该如何搜索呢?
-
通常,当问题的形式是“为什么
<insert name of popular library function>不起作用?”来吧-它被错误地使用了。$shapes可能不是数组,对象比较也容易出问题。 -
那么,我该如何搜索这个对象呢?
-
@TheLindyHop,使用
jQuery.each(),但是,请注意如何比较元素。
标签: javascript jquery arrays