Nexus, Попробовал на всякий случай но как и ожидал получилась ошибка. дело в том что это скрипте мы пытаемся получить notify из массива notifies, а его там не было изначально.
В исходном массиве они лежат на одном уровне, вот. Я так понимаю что действия с ним нужно произвести на этапе: arr = arr.map(function(item){ return item.notifies; }); То есть если вместо это сделать вот так: arr = arr.map(function(item){ return item.notify.info; }); То мы получим нужное значение info. Может есть способ взять это значение и воткнуть его в item.notifies, по аналогии с .push() в массивах? |
smart-create,
var json=[{ card: 10000013, code: 752, dt: "2017-11-20 18:03:00", id: 903398, notifies:[ {id: 9161, sended_at: "2017-11-14 09:28:46", params: 0}, {id: 9162, sended_at: "2017-11-18 18:03:00", params: 0}, {id: 9163, sended_at: "2017-11-20 16:03:00", params: 0}], notify: {id: 10, code: 752, caption: "Брюшная полость", info: "Вы записаны на Брюшная полость. За 6 часов до этог…ния нельзя принимать пищу, за 4 часа нельзя пить."}, price: {id: 101850, code: 752, name: "Черевна порожнина", nameRu: "УЗИ брюшной полости (дети)", text: ""}, sended_at:null },{ card: 10000013, code: 752, dt: "2017-11-20 18:03:00", id: 903398, notifies:[ {id: 9161, sended_at: "2017-11-14 09:28:46", params: 0}, {id: 9162, sended_at: "2017-11-18 18:03:00", params: 0}, {id: 9163, sended_at: "2017-11-20 16:03:00", params: 0}], notify: {id: 10, code: 752, caption: "Брюшная полость", info: "Вы записаны на Брюшная полость. За 6 часов до этог…ния нельзя принимать пищу, за 4 часа нельзя пить."}, price: {id: 101850, code: 752, name: "Черевна порожнина", nameRu: "УЗИ брюшной полости (дети)", text: ""}, sended_at:null }]; json=[].concat.apply([],json.map(function(item){ return item.notifies.map(function(obj){ obj.info=item.notify.info; return obj; }); })); console.log(json); |
Nexus, Все понял, большое спасибо, теперь мои отношения с JSON станут приятнее:dance:
|
Часовой пояс GMT +3, время: 23:52. |