迭代数据以获取值

14 浏览
0 Comments

迭代数据以获取值

我有以下的循环\n

for (var i in data) {
   console.log(data[i])
}

\n我遍历的数据是\n \"data\": [\n {\n \"MainArea\": \"North West\"\n },\n {\n \"MainArea\": \"South West\"\n },\n\n当我运行它时,在firebug中我得到以下输出\n

[Object { MainArea="North West"}, 
Object {  MainArea="South West"}]

\n我想要的只是它的值。所以当我尝试\n

console.log(data[i].MainArea)

\n希望只得到\"North West\"和\"South West\"的值,而不是在我的控制台中得到\"undefined\"。

0
0 Comments

问题的原因是对象的属性名和值的获取方式不正确。对象的属性名和值应该使用冒号(:)分隔,而不是等号(=)。因此,导致在使用循环迭代数据获取值时出现问题。

解决方法是将代码中的等号(=)替换为冒号(:),以正确设置对象的属性名和值。具体来说,将MainArea="North West"修改为MainArea: "North West"

修改后的代码如下:

{ MainArea: "North West" }

这样,对象就正确地定义了一个名为MainArea的属性,并将其值设置为"North West"

在使用循环迭代数据获取值时,可以使用console.log(data[i].MainArea)来打印出对象的MainArea属性的值。

注意:尽管代码中的等号(=)语法在调试器中可能是可行的,但它不符合JavaScript的语法规范。因此,在编写代码时,应该始终使用正确的语法来定义对象的属性名和值。

0
0 Comments

问题出现的原因是数据对象中有一个名为"data"的属性,它是一个包含目标对象的数组。在迭代数据时,我们需要使用的属性键是"MainArea"。解决方法是使用for循环迭代"data"数组,并打印出每个对象中的"MainArea"属性。

代码示例:

var data = {
    "data": [{
        "MainArea": "North West"
    }, {
        "MainArea": "South West"
    }]
}
for (var i in data.data) {
    console.log(data.data[i].MainArea)
}

Demo: [Fiddle](http://jsfiddle.net/arunpjohny/hyDP2/)

0
0 Comments

问题的原因是在遍历数据时,无法获取到所需的值。解决方法是通过使用循环来遍历数组,然后通过属性名来获取变量的值。

代码示例:

var myObj = {
  "data": [
    {
      "MainArea": "North West"
    },
    {
      "MainArea": "South West"
    }
  ]
};
var data = myObj['data'];
var data_length = data.length;
for (var i=0; i

需要注意的是,当遍历键值对时应使用`for ... in`循环,而当遍历数组时应使用`for`循环。如果`data`属性包含了已排序的数组,`for ... in`循环将无法按照顺序遍历数组项。因此,应只在数组上使用`for`循环,在非数组对象上使用`for ... in`循环。关于这方面的更多信息可以在这里阅读到。你还可以通过这个链接进行jsPerf性能比较。

最后,你可以通过以下链接查看示例代码:DEMO

0