我试图检查哪个数组元素的值彼此相等或者#box {
background-color: teal;
width: 500px;
height: 92px;
position: absolute;
z-index: 50;
}
#test{
position: relative;
top: 15px;
width: 100%;
height: 1px;
background-color: blue;
}
#containment {
background-color: #ddd;
width: 500px;
height: 800px;
}
.ru {
background-color: red;
width: 500px;
height: 30px;
margin-top: 1px;
}
.hover {
background-color: yellow;
}
10.数组的计数为15.问题是当我测试for(i=1; i<20; i++){
$("#containment").append("<div class='ru'>")
}
$( "#box" ).draggable({
revert: "invalid",
});
$( ".ru" ).droppable({
hoverClass: "hover",
tolerance:"intersect",
drop: function(event, ui) {
ui.draggable.position({
of: $(this),
my: 'left top',
at: 'left top'
});
}
});
10的值时一个NSNumber
,代码似乎没有评估。
在下面的数组中,例如,代码应该返回索引0中的值存在于索引{0,9,10}中,因为NSNumber
1存在于索引0和10以及{{1索引9中存在10。
1-2-3-4-5-6-7-8-9-10-1-2-3-4-5
但是,它仅评估索引0中的if statement
值是否等于NSNumber
1而不是NSNumber
10.输出不是预期的{0,9,10但只有{0,10}。
NSNumber
答案 0 :(得分:1)
您的期望不正确。 number
,外部循环迭代器仅对数组中的@ 10元素等于10。循环的预期结果是1..5元素上的两个索引,以及其余的一个索引。
如果您希望循环找到@ 10元素并将其包含在每个结果中,请更改条件...
if ([number isEqualToNumber:obj] || [number isEqualToNumber:ten])
为...
if ([number isEqualToNumber:obj] || [obj isEqualToNumber:ten])
顺便提一下,该块可以更简单地说明为......
NSIndexSet *matchingIndex = [mutableArray indexesOfObjectsPassingTest:^BOOL(NSNumber *obj, NSUInteger idx, BOOL *stop) {
return ([number isEqualToNumber:obj] || [obj isEqualToNumber:@10]);
}];