Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.10.2019, 11:09
Аспирант
Отправить личное сообщение для zava75 Посмотреть профиль Найти все сообщения от zava75
 
Регистрация: 13.07.2018
Сообщений: 34

Массив в объект ( четные элементы как ключи )
Добрый день. Подскажите как решить есть
var arr = [ key1, value1 , key2, value2 ]


нужно на выходе

var arr = {
 key1: value1 ,
 key2: value2
}
Ответить с цитированием
  #2 (permalink)  
Старый 16.10.2019, 12:03
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

var obj ={};
for(let i = 0; i<arr.length; i++){
  obj[arr[i]] = arr[++i];
}
Ответить с цитированием
  #3 (permalink)  
Старый 16.10.2019, 12:23
Аспирант
Отправить личное сообщение для zava75 Посмотреть профиль Найти все сообщения от zava75
 
Регистрация: 13.07.2018
Сообщений: 34

Сообщение от j0hnik Посмотреть сообщение
var obj ={};
for(let i = 0; i<arr.length; i++){
  obj[arr[i]] = arr[++i];
}
var arr = [ key1, value1 , key2, value2 ];
var obj ={};

for(let i = 0; i<arr.length; i++){
  obj[arr[i]] = arr[++i];
}
console.log(obj);

спасибо торможу)

Последний раз редактировалось zava75, 16.10.2019 в 12:26.
Ответить с цитированием
  #4 (permalink)  
Старый 16.10.2019, 12:32
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от zava75
очевидно что не то(
Примеры тестовые нужно делать нормально - будет то.

var arr = [ 0, 1 , 2, 3 ];
var obj ={};
for(var i = 0; i<arr.length; i++){
  obj[arr[i]] = arr[++i];
};
for( i in obj){
  alert(i+' = '+obj[i]);
};
Ответить с цитированием
  #5 (permalink)  
Старый 16.10.2019, 14:28
Профессор
Отправить личное сообщение для Триви Посмотреть профиль Найти все сообщения от Триви
 
Регистрация: 23.04.2010
Сообщений: 354

От делать нефиг в качестве поиграться поизвращаться ))

var arr = [ 0, 1 , 2, 3 ],
     obj ={};
for(var i = 0; i<arr.length; i++){
     if(arr[i]%2 == 1) obj[arr[i]-1] = arr[i];
};
for( i in obj){
     alert('Key' + i+' => ' + obj[i]);
};
Ответить с цитированием
  #6 (permalink)  
Старый 16.10.2019, 14:46
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от Триви
в качестве поиграться поизвращаться
Ты не правильно организуешь цикл прохода по массиву...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как добавлять элементы в типизированный массив? NiOl Общие вопросы Javascript 9 01.08.2019 11:32
Как показать элементы под картой zava75 Элементы интерфейса 3 13.07.2018 18:48
Как вернуть div и все вложенные в него элементы в первоначальное состояние? lucky89 Общие вопросы Javascript 17 26.02.2015 18:41
jQuery (Как открыть объект в этом же окне, щёлкнув по нему мышкой) Объект кусок карты hadzhimuratov (X)HTML/CSS 32 18.06.2012 17:54
Как лучше сделать глобальный массив skyfish AJAX и COMET 4 17.02.2009 18:05