У меня есть следующий массив чисел:Пытаясь найти, если числа четные/нечетные/композитный/премьер
var array = [5,9,12,19,23,24,31,44,49,62];
, и я пытаюсь выяснить, для каждого из них, если они либо даже и композита, нечетных и композитный, или нечетный и простой. Я начал с попытки найти номера, которые даже и композит:
for (i = 0; i < array.length; i++) {
if (array[i]%2 === 0 && array[i]%i === 0) {
console.log(array[i]+" is even and composite")
}
}
Проблема в том, я получаю только 12, когда я должен получить 12,24,44,62. Кажется, он остановился на 12. Что может быть проблемой?
спасибо.
Сравнение 'массив [я]% я === 0 'не проверяет' ли массив [я] 'является составным числом или нет, но вместо того, чтобы проверять' ли массив [я] 'делится by 'i'. Для случаев 24, 44 и 62 они не делают ваше условие истинным, потому что 24 не делится на 5, 44 не делится на 7, а 62 не делится на 8. Вам нужно переделать свое условие на проверьте, является ли число составным или нет. –
Ну, ни один из них не делится на 5, но он все еще как-то показывает это. –
Когда вы оцениваете 12, 'i' имеет значение 2, которое 12 делится на. Чтобы уточнить, ваше состояние в настоящее время проверяет, является ли число четным (делится на 2) и делится на его индекс в массиве. –