Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.01.2017, 16:28
Новичок на форуме
Отправить личное сообщение для Leviko Посмотреть профиль Найти все сообщения от Leviko
 
Регистрация: 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]

Подскажите куда смотреть?
Спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 26.01.2017, 16:40
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Leviko
Подскажите куда смотреть?
Циклы... Массивы...
Ответить с цитированием
  #3 (permalink)  
Старый 26.01.2017, 16:51
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от 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.
Ответить с цитированием
  #4 (permalink)  
Старый 26.01.2017, 16:57
Новичок на форуме
Отправить личное сообщение для Leviko Посмотреть профиль Найти все сообщения от Leviko
 
Регистрация: 26.01.2017
Сообщений: 3

Ох епт... страшно, как-то смотрится...
Ответить с цитированием
  #5 (permalink)  
Старый 26.01.2017, 16:59
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

https://developer.mozilla.org/ru/doc...s/Array/splice
Ответить с цитированием
  #6 (permalink)  
Старый 26.01.2017, 17:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

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);
Ответить с цитированием
  #7 (permalink)  
Старый 26.01.2017, 20:19
Новичок на форуме
Отправить личное сообщение для Leviko Посмотреть профиль Найти все сообщения от Leviko
 
Регистрация: 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);
Ответить с цитированием
  #8 (permalink)  
Старый 27.01.2017, 13:46
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 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.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Jquery - поменять местами таблицы Sergei-b84 jQuery 14 11.03.2015 20:00
Поменять местами символы, относительно их положения k1ker Общие вопросы Javascript 5 01.01.2014 19:17
Поменять event`ы местами UnderShot Events/DOM/Window 8 08.10.2010 21:21
Поменять слова местами iceman Общие вопросы Javascript 1 23.06.2009 16:14
Как поменять местами элементы в дереве элемента родителя? rar11 Events/DOM/Window 8 01.04.2009 18:53