ассоциативный массив из JSON
обыскал весь интернет. Так и не нашел что-нибудь по своему вопросу.
есть массив в файле JSON (в отдельном файле) { "layers": [ { "layercodename": "osm", "layername": "Open Street Map", "pathto": "http://{s}.tile.osm.org/{z}/{x}/{y}.png", "layertype": "basemap", "layertypefunction": "ltilelayer" }, { "layercodename": "olen", "layername": "Треки", "pathto": "rerere.json", "layertype": "overlay", "layertypefunction": "casual", "geometry": "polyline", "color": "#000", "width": 1 } ] } Как мне сделать ассоциативный массив, на странице, чтобы в дальнейшем мне можно было оперировать объектами не на прямую прописывать каждое свойство, а обращаться к ассоциативному массиву(своеобразно универсальному массиву), который в свою очередь будет получать свойства из файла JSON? Т.е. нужно, чтобы страница прочитала массив файла json и организовала пары ключей, чтобы дальше уже пользоваться только ассоциативным массивом для формирования функций различного характера, при этому не терять объекты из массива. var associatedlayers = ( data.layercodename = layercodename, data.layername = layername, etc.):write: |
В JS нет ассоциативных массивов. У вас есть объект - свойство, это ключ считайте ключ ассоциативного массива. А так var associatedlayers = (
data.layercodename = layercodename, data.layername = layername, etc.), кроме ошибки ничего не получить. |
в этом случае, как тогда действовать?
я просто не знаю, как написать это... универсальный объект для объектов JSON |
Какой еще универсальный объект? У вас есть массив объектов "layers", получить его свойства, это layers[индекс_массива].имя_свойства.
|
var layers[value.layercodename] = L.tileLayer(value.pathto, {attribution: value.layername});
control.addBaseLayer(value.layername, layers[value.layercodename]); проблема с этим |
У вас есть массив объектов "layers"... - что это означает? Что есть такое - value.layercodename?
|
Часовой пояс GMT +3, время: 15:18. |