Yes, at some points Mapbender uses arrays where objects should be used; this is definitely faulty.

There are two reasons why I think the dot notation is superior

1) Using x = {} and then x["key"] is misleading: the square brackets indicate it's an array, but it really is an object.

2) JSLint recommends dot notation (and I am a blind follower)

Marc, if you have any arguments pro brackets, please share them with us. I would like to see all sides to the issue.

Thanks

Christoph

Marc Jansen schrieb:
Hi Christoph,

I thought that the root of the failure might be the (IMHO) incorrect usage of arrays in Javascript. Correct me if I'm but AFAIK there are no associative arrays within javascript. The purpose of these are handles by objects. I know that object have some disadvantages -- e.g. they are missing the length property.

I personally favor the bracketed syntax, but thats a sole personal preference.


-- Marc

Christoph Baudson (WhereGroup) schrieb:
Sorry for the last post. Ignore it. Too much copy and paste for any human to handle. Here's the version I intended to post

--

To illustrate the difference, an example

Does not work with toJSONString()

       currentLayer.layer_style[count] = [];
       currentLayer.layer_style[count]["name"] = styleName;
       currentLayer.layer_style[count]["title"] = styleTitle;
       currentLayer.layer_style[count]["legendurl"] = styleLegendUrl;
currentLayer.layer_style[count]["legendurlformat"] = styleLegendUrlFormat;

Does work

       currentLayer.layer_style[count] = {};
       currentLayer.layer_style[count].name = styleName;
       currentLayer.layer_style[count].title = styleTitle;
       currentLayer.layer_style[count].legendurl = styleLegendUrl;
currentLayer.layer_style[count].legendurlformat = styleLegendUrlFormat;

May work, not tried (curly brackets in line 1)

      currentLayer.layer_style[count] = {};
      currentLayer.layer_style[count]["name"] = styleName;
      currentLayer.layer_style[count]["title"] = styleTitle;
      currentLayer.layer_style[count]["legendurl"] = styleLegendUrl;
currentLayer.layer_style[count]["legendurlformat"] = styleLegendUrlFormat;
_______________________________________________
Mapbender_dev mailing list
Mapbender_dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapbender_dev


_______________________________________________
Mapbender_dev mailing list
Mapbender_dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapbender_dev


--
***************************************
Where2B-Konferenz Die Lösungskonferenz der WhereGroup
am 29. November 2007 in Bonn
http://www.where2b-conference.com
***************************************
_______________________________________

W h e r e G r o u p GmbH & Co. KG

Siemensstraße 8
53121 Bonn
Germany

Christoph Baudson
Anwendungsentwickler

Fon: +49 (0)228 / 90 90 38 - 17
Fax: +49 (0)228 / 90 90 38 - 11
[EMAIL PROTECTED]
http://www.wheregroup.com
Amtsgericht Bonn, HRA 6788
_______________________________________

Komplementärin:
WhereGroup Verwaltungs GmbH
vertreten durch:
Arnulf Christl, Olaf Knopp, Peter Stamm
_______________________________________

_______________________________________________
Mapbender_dev mailing list
Mapbender_dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapbender_dev

Reply via email to