Показать сообщение отдельно
  #1 (permalink)  
Старый 10.09.2017, 20:25
Новичок на форуме
Отправить личное сообщение для Romann Посмотреть профиль Найти все сообщения от Romann
 
Регистрация: 10.09.2017
Сообщений: 3

Нужно сделать добавление обьектов в массив
Всем доброго времени суток!
Помогите пожалуйста решить проблему... Думаю она легко решаема, но никак не могу понять как.
Вопрос, как мне сделать так, чтобы когда при проверке срабатывает else
к уже существуещему обьекту в localstorage, добавлялся новый обьект.
На данный момент, он его просто перезаписывает.

Вот код :
var id = "1"; // id товара
	var name = "item 2"; // переменная имени
	var x = 1;
	var summ = 500;

	
	
	
	
	
	
	
	if (getCartData()[id]) { // если товар с таким id уже есть в корзине то  :
	var x = (getCartData()[id][3]) += 1; // узнаем количество товара и добавляем + 1
	var summ = 500; 
		var summa = summ * x; // умножаем количество на сумму.
		var foo = { [id] : [id , name, summa , x]}; //формируем массив
		localStorage.setItem('foo', JSON.stringify(foo));//записываем в localstorage
		alert (" обновляем товар");
	}
	else {
		
		
		
		foo =  {};
		var foo = { [id] : [id , name, summ , x]}; //формируем массив*/
		localStorage.setItem('foo', JSON.stringify(foo));//записываем в localstorage
		alert ("добавляем новый товар");
	}


На выходе, при смене значения id сейчас так :
{"1":["1","item 2",2500,5]}


а нужно чтобы было так :

{"2":["2","item1",100 , 1],"6":["6","item6",5000 , 1]}


Javascript начал познавать несколько дней назад, поэтому прошу не судить строго и отнестись с пониманием... Надеюсь правильно описал проблему.
Ответить с цитированием