如何在javascript中获取带有名称值的数组编号

How to get the array number with the name value in javascript

本文关键字:有名称 数组 编号 获取 javascript      更新时间:2023-09-26

这是我试图循环通过的json:

var json = {"series":[
          {
             "id":1448822,
             "name":"Buckinghamshire",
             "selected":true,
             "data":[
                [
                   19.23,
                   19.23
                ]
             ]
          },
          {
             "id":1448823,
             "name":"Cambridgeshire",
             "selected":false,
             "data":[
                [
                   38.46,
                   61.54
                ]
             ]
          }
    }

我一直在尝试训练如何获得数组位置,其中所选名称的值为以下代码的true:

for (var i = 0; i < json.length; i++) {
            var geoAreaSelected = serData[i].selected;
            if (geoAreaSelected === true) {
                this.series[i].data[i].setState('select');
            }
        };

编辑:

var json = {
  "series":[
          {
             "id":1448822,
             "name":"Buckinghamshire",
             "selected":true,
             "data":[[19.23, 19.23]]
          },
          {
             "id":1448823,
             "name":"Cambridgeshire",
             "selected":false,
             "data":[[38.46, 61.54]]
          }
        ] // <= This was missing
    };
for (var i = 0; i < json.series.length; i++) {
  var geoAreaSelected = json.series[i].selected;
  if (geoAreaSelected === true) {
    console.log( json.series[i].data[i])
  }
};

控制台日志[ 19.23, 19.23 ]

您必须迭代json.series而不是json

for (var i = 0; i < json.series.length; i++) {
  var geoAreaSelected = json.series[i].selected;
  if (geoAreaSelected === true) {
    json.series[i].data[i].setState('select');
    console.log(i); // <--- you can use the variable i to access ith object in the array
  }
};