Вы должны использовать отдельный счетчик для массива результатов и продолжать увеличивать счетчик, если число делится на цель.
Примерно так:
int[] result=new int[array.length];
int resultindex=0; //create a separate counter
for(int i=0;i<array.length;i++)
{
if(array[i]%target==0)
{
result[resultindex]=array[i];
++resultindex; //update the counter
}
}
Создание новых селекторов - это своего рода развлечение, поэтому я сделал следующее:
Использование:
: hasCssAttr (свойство, значение ...)
Свойство
- это css, которое вы хотели бы использовать для сравнения
value
- это значения, с которыми вы хотели бы сравнивать (у вас может быть более одного)
$(':hasCssAttr(float, left)').css('float', 'right');
Источник Люк:
$.expr[':'].hasCssAttr = function(objNode, intStackIndex, arrProperties, arrNodeStack) {
var arrArguments = arrProperties[3].split(',');
var cssPropVal = $(objNode).css(arrArguments[0]); // need for speed
for (var i = 1 ; i < arrArguments.length ; i++)
if (cssPropVal == arrArguments[ i ].replace(/^\s+|\s+$/g,""))
return true;
return false;
}
По сути, это выбирает любое ol 'css свойство. Я полагаю, вы могли бы исключить цикл, если бы вам нужно было только одно значение, вроде ненужного. Кроме того, мне интересно, может быть, было бы интереснее сделать это в eval, чтобы вы могли проводить численные сравнения. Тем не мение. Вот оно.
Это должно сработать без взлома классов:
$("*").filter( function() {
return /^(left|right)$/.test( $(this).css("float") )
})
Кстати, в jQuery уже есть хороший способ найти все элементы display: none
:
$(":hidden")
Одна из идей - применить плавающий стиль через CSS, затем вы можете выбрать имя класса и при необходимости отобразить / скрыть.
<style>
.right { float: right; }
.left { float: left; }
</style>
<div class='left'>...</div>
<div class='right'>...</div>
$('.left,.right').hide();