26.01.2017, 16:28
|
Новичок на форуме
|
|
Регистрация: 26.01.2017
Сообщений: 3
|
|
Попарно поменять местами числа массива
Добрый день друзья!
Прошу подсказки !
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]
Подскажите куда смотреть?
Спасибо
|
|
26.01.2017, 16:40
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,225
|
|
Сообщение от Leviko
|
Подскажите куда смотреть?
|
Циклы... Массивы...
|
|
26.01.2017, 16:51
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,225
|
|
Сообщение от Leviko
|
var newNums= [1,2,3,4,5,6,7,8,9,10,11,12]
,
необходим результат
[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);
Последний раз редактировалось ksa, 26.01.2017 в 16:54.
|
|
26.01.2017, 16:57
|
Новичок на форуме
|
|
Регистрация: 26.01.2017
Сообщений: 3
|
|
Ох епт... страшно, как-то смотрится...
|
|
26.01.2017, 16:59
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
|
|
26.01.2017, 17:50
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
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);
|
|
26.01.2017, 20:19
|
Новичок на форуме
|
|
Регистрация: 26.01.2017
Сообщений: 3
|
|
Спасибо!
Решил вот так :
for(i=0; i<newNums.length; i+=2){
tmp = newNums[i];
newNums[i] = newNums[i+1];
newNums[i+1] = tmp
}
console.log(newNums);
|
|
27.01.2017, 13:46
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
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);
Последний раз редактировалось Dilettante_Pro, 27.01.2017 в 13:52.
|
|
|
|