2012-07-04 2 views
0

У меня есть несколько элементов в массиве, скажем более 14 наименований.Заменяет каждые 3 предмета и 4 предмета

Как я могу сгруппировать их по двум различным группам следующим образом: первые 3 (# 1,2,3) будут в массиве A, следующий 4 (# 4,5,6,7) будет в массиве B, следующий 3 (# 8,9,10) будет в массиве A, следующий 4 (# 11,12,13,14) будет в массиве B и так далее.

Я пробовал использовать модулю, но на полпути я понял, что числа с коэффициентами 3 и 4 не могут быть дифференцированы с использованием модулю.

Я использую Javascript/PHP для этого, но любой подобный язык отлично

+2

Что вы пробовали? Кроме того, ответ полностью зависит от языка. Выберите его. –

+0

Также. Что произойдет, если есть предметы, оставленные/не вписывающиеся в вашу схему 3-4-3-4? – TheHippo

+0

PHP и Javascript очень похожи. Либо один хорошо. Если мне нужно выбрать один, Javascript! – Nyxynyx

ответ

0

Для JavaScript:

var array1 = []; 
var array2 = []; 
for (var i=0; i< input.length; i++) { 
    if (i % 7 < 3) 
     array1.push(input[i]); 
    else 
     array2.push(input[i]); 
} 
3

Я бы пару модуль-7 с менее чем 3 проверки ... что-то вроде этого (PHP) :

for($i = 0; $i < count($array); $i++) { 
    if($i%7 < 3) { 
    $sortA[] = $array[$i]; 
    } else { 
    $sortB[] = $array[$i]; 
    } 
} 
+0

стоит отметить, что в качестве метода это возможно на любом из языков, которые вы отметили, просто синтаксис будет другим. Возможно, c является самым разным, потому что это более низкая обработка массивов. –

Смежные вопросы