Узнать длину после преобразования в объект
Добрый день.
Нужно получить информацию с 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' |
Цитата:
Цитата:
Цитата:
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);
|
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)
|
Цитата:
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);
|
| Часовой пояс GMT +3, время: 11:36. |