Узнать длину после преобразования в объект
Добрый день.
Нужно получить информацию с 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, время: 13:43. |