Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.08.2017, 13:08
Новичок на форуме
Отправить личное сообщение для FALKOR Посмотреть профиль Найти все сообщения от FALKOR
 
Регистрация: 16.04.2016
Сообщений: 5

Узнать длину после преобразования в объект
Добрый день.

Нужно получить информацию с localStorage, в виде объекта
order = JSON.parse(localStorage.getItem('basketwidjet'));

И запустить цыкл равный количеству элементов в объекте, но:
order.length === undefined;

Строка выглядит примерно следующим образом
'"{"1":{"id":1,"name":"Артикул 2","price":299,"num":1,"url":"http://site/","photo":""},"2":{"id":2,"name":"Артикул 2","price":220,"num":1,"url":"http://site/","photo":""},"3":{"id":3,"name":"Артикул 6","price":179,"num":1,"url":"http://site/","photo":""}}"'

Мне необходимо сделать список всех 'name' и вывести сумму всех 'price'
Ответить с цитированием
  #2 (permalink)  
Старый 15.08.2017, 13:20
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от FALKOR
Строка выглядит примерно следующим образом
'"{"1":{"id":1,"name":"Артикул 2","price":299,"num":1,"url":"http://site/","photo":""},"2":{"id":2,"name":"Артикул 2","price":220,"num":1,"url":"http://site/","photo":""},"3":{"id":3,"name":"Артикул 6","price":179,"num":1,"url":"http://site/","photo":""}}"'
Второй и предпоследний символ - лишние.

Сообщение от FALKOR
но:
order.length === undefined;
У объекта нет такого свойства.

Сообщение от FALKOR
Мне необходимо сделать список всех 'name' и вывести сумму всех 'price'
var str='{"1":{"id":1,"name":"Артикул 2","price":299,"num":1,"url":"http://site/","photo":""},"2":{"id":2,"name":"Артикул 2","price":220,"num":1,"url":"http://site/","photo":""},"3":{"id":3,"name":"Артикул 6","price":179,"num":1,"url":"http://site/","photo":""}}'
var o = JSON.parse(str);
var sum=0;
for (var i in o) {
	alert(o[i].name);
	sum+=o[i].price;
};
alert('sum='+sum);
Ответить с цитированием
  #3 (permalink)  
Старый 15.08.2017, 13:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

FALKOR,
var basketwidjet  = '{"1":{"id":1,"name":"Артикул 2","price":299,"num":1,"url":"http://site/","photo":""},"2":{"id":2,"name":"Артикул 2","price":220,"num":1,"url":"http://site/","photo":""},"3":{"id":3,"name":"Артикул 6","price":179,"num":1,"url":"http://site/","photo":""}}',

order = JSON.parse(basketwidjet),
l = Object.keys(order).length,
n = Object.keys(order).map(function (key) {
return  order[key].name
}),

s =  Object.keys(order).reduce(function (a,key) {
return  a + order[key].price
},0);
alert(l);
alert(n)
alert(s)

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

Сообщение от FALKOR
Строка выглядит примерно следующим образом
'"{"1":{"id":1,"name":"Артикул 2","price":299,"num":1,"url":"http://site/","photo":""},"2":{"id":2,"name":"Артикул 2","price":220,"num":1,"url":"http://site/","photo":""},"3":{"id":3,"name":"Артикул 6","price":179,"num":1,"url":"http://site/","photo":""}}"'
Вариант с массивом смотрится более эстетично...

var str='[{"id":1,"name":"Артикул 2","price":299,"num":1,"url":"http://site/","photo":""},{"id":2,"name":"Артикул 2","price":220,"num":1,"url":"http://site/","photo":""},{"id":3,"name":"Артикул 6","price":179,"num":1,"url":"http://site/","photo":""}]'
var a = JSON.parse(str);
var sum=0;
for (var i=0; i<a.length; i++) {
	alert(a[i].name);
	sum+=a[i].price;
};
alert('sum='+sum);
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Узнать lenght после клика по элементу villiwalla Events/DOM/Window 1 14.07.2016 18:02
узнать значения всех переменных после загрузки friend Events/DOM/Window 3 30.12.2015 18:36
Показать объект после скрытия других объектов brinchik Events/DOM/Window 3 26.09.2014 18:12
Узнать url после перенаправления ipevgeny AJAX и COMET 0 05.11.2009 00:18
Объект при загрузке страницы и после операций над ним fact jQuery 7 20.04.2009 22:02