var data = {
    "layer1": { "cell11": { "name": "name11" }, "cell12": { "name": "name12" }, "cell13": { "name": "name13" }, "cell14": { "name": "name14"} }
}
//遍历layer1的时候如何才能做到从指定的位置如:cell13或者说第3个 开始遍历呢
//原来的遍历方法
for (var a in data.layer1) {
}

解决方案 »

  1.   

    数组结构的获取数据太慢了,需要遍历整个数据才能找到
    这样就能直接指定cell值来获取了
      

  2.   

    又想根据key获取,又想根据索引获取?
    所以无解!每一种数据结构都不是完美的。
      

  3.   

    啊,NND
    我终于有办法了,
    两者结合下,就搞定了
    var data = {
        "layer1": [{ "cell11": { "name": "name11"} }, { "cell12": { "name": "name12"} }, { "cell13": { "name": "name13"} }, { "cell14": { "name": "name14"}}]
    }这样就技能按索引访问,又能按值来访问,太天才了,巨牛!
      

  4.   

    没看出楼上怎么搞定了
    var data = {
        "layer1": { "cell11": { "name": "name11" }, "cell12": { "name": "name12" }, "cell13": { "name": "name13" }, "cell14": { "name": "name14"} }
         "index":["cell11","cell12","cell13"]
    }
      

  5.   

    这样应该是四个对象,每个对象有一个cell的属性,属性值又是一个对象:name的属性和值
    这样也可以去索引,因为加了[]就变成了数组的形式。可以直接取下标;data.layer1[2]就是cell13
      

  6.   

    抱歉 让大家有点迷糊了 这里我解释下我要做的事情
    之前我的结构需要做下调整 成下面的样子
    var data = {
        "layer1": [{ "cell11": { "name": "name11" }, "cell12": { "name": "name12"} }, { "cell13": { "name": "name13" }, "cell14": { "name": "name14"}}]
    }
    以上结构表示
    data 下有个layer1值对象  它是个数组 一共有两个
    每个对象里又有值如data.layer1[0].cell11 也可以访问第二个如data.layer1[1].cell13.name
    这么做的目的是:
        主要是为了能按照cell值来直接获取想要的数据 如它的name属性等
        但是现在又需要获取如前面100位cell 这样就需要把前面100位都放在data.layer1[0]中,能方便获取
        就是这样,我的目的已经达到了,这里还是说出来分享下!