Попарно поменять местами числа массива
Добрый день друзья!
Прошу подсказки ! var newNums= [1,2,3,4,5,6,7,8,9,10,11,12], i, result ="", summa =0; необходим результат [3,4,1,2,7,8,5,6,11,12,9,10] Подскажите куда смотреть? Спасибо |
Цитата:
|
Цитата:
var arr=[1,2,3,4,5,6,7,8,9,10,11,12]; var val=arr.toString(); val=val.replace(/(\d+),(\d+),(\d+),(\d+)/g,'$3,$4,$1,$2'); arr=val.split(','); alert(arr); |
Ох епт... страшно, как-то смотрится...
|
|
Leviko,
var newNums= [1,2,3,4,5,6,7,8,9,10,11,12]; var result = newNums.map(function(el, i, arr) { return i % 4 < 2 ? arr[i + 2] : arr[i - 2]; }); alert(result); |
Спасибо!
Решил вот так : for(i=0; i<newNums.length; i+=2){ tmp = newNums[i]; newNums[i] = newNums[i+1]; newNums[i+1] = tmp } console.log(newNums); |
Leviko,
Незачет. Результат не такой, как в задании. var newNums= [1,2,3,4,5,6,7,8,9,10,11,12], i, tmp; for(i=0; i<newNums.length; i+=2){ tmp = newNums[i]; newNums[i] = newNums[i+1]; newNums[i+1] = tmp } alert(newNums); А вот такой, как надо var newNums= [1,2,3,4,5,6,7,8,9,10,11,12], i, result = []; for(i=0; i<newNums.length; i+=4){ result.push( newNums[i + 2], newNums[i + 3], newNums[i],newNums[i+1]); } alert(result); |
Часовой пояс GMT +3, время: 18:13. |