【问题标题】:Loop outputs [object, object, object object] [closed]循环输出[对象,对象,对象对象] [关闭]
【发布时间】:2015-09-06 05:13:39
【问题描述】:

我最近一直在参加一些在线课程,以尝试了解编程的基础知识,逐渐尝试增加我所学内容的复杂性。但是我似乎无法控制循环的输出,我要么得到最后一个值,要么得到 [object,object object,object object, object,object]

任何帮助将不胜感激,我相信这很简单,但我已经尝试过 in's for's 和 for each's,但到目前为止没有运气。

{
  "years": [
    {
      "id": "1",
      "year": "2015",
      "total": "55045",
      "points": [
        {
          "id": "2",
          "points": "600",
          "total": "215",
          "percent": "0.4"
        },
        {
          "id": "3",
          "points": "500-599",
          "total": "5431",
          "percent": "9.9"
        },
        {
          "id": "4",
          "points": "400-499",
          "total": "14097",
          "percent": "25.6"
        },
        {
          "id": "5",
          "points": "300-399",
          "total": "14446",
          "percent": "26.2"
        },
        {
          "id": "6",
          "points": "200-299",
          "total": "9768",
          "percent": "17.7"
        },
        {
          "id": "7",
          "points": "100-199",
          "total": "6562",
          "percent": "11.9"
        },
        {
          "id": "8",
          "points": " >100",
          "total": "4526",
          "percent": "8.2"
        }
      ]
    },
    {
      "id": "9",
      "year": "2014",
      "total": "54025",
      "points": [
        {
          "id": "10",
          "points": "600",
          "total": "162",
          "percent": "0.3"
        },
        {
          "id": "11",
          "points": "500-599",
          "total": "5088",
          "percent": "9.4"
        },
        {
          "id": "12",
          "points": "400-499",
          "total": "13447",
          "percent": "24.9"
        },
        {
          "id": "13",
          "points": "300-399",
          "total": "14047",
          "percent": "26"
        },
        {
          "id": "14",
          "points": "200-299",
          "total": "9584",
          "percent": "17.7"
        },
        {
          "id": "15",
          "points": "100-199",
          "total": "6926",
          "percent": "12.8"
        },
        {
          "id": "16",
          "points": " >100",
          "total": "4771",
          "percent": "8.8"
        }
      ]
    },
    {
      "id": "17",
      "year": "2013",
      "total": "52767",
      "points": [
        {
          "id": "18",
          "points": "600",
          "total": "152",
          "percent": "0.3"
        },
        {
          "id": "19",
          "points": "500-599",
          "total": "4813",
          "percent": "9.1"
        },
        {
          "id": "20",
          "points": "400-499",
          "total": "12803",
          "percent": "24.3"
        },
        {
          "id": "21",
          "points": "300-399",
          "total": "13381",
          "percent": "25.4"
        },
        {
          "id": "22",
          "points": "200-299",
          "total": "9566",
          "percent": "18.1"
        },
        {
          "id": "23",
          "points": "100-199",
          "total": "6914",
          "percent": "13.1"
        },
        {
          "id": "24",
          "points": " >100",
          "total": "5138",
          "percent": "9.7"
        }
      ]
    },
    {
      "id": "25",
      "year": "2012",
      "total": "52589",
      "points": [
        {
          "id": "26",
          "points": "600",
          "total": "165",
          "percent": "0.2"
        },
        {
          "id": "27",
          "points": "500-599",
          "total": "5026",
          "percent": "9.6"
        },
        {
          "id": "28",
          "points": "400-499",
          "total": "12395",
          "percent": "23.6"
        },
        {
          "id": "29",
          "points": "300-399",
          "total": "13170",
          "percent": "25"
        },
        {
          "id": "30",
          "points": "200-299",
          "total": "9588",
          "percent": "18.2"
        },
        {
          "id": "31",
          "points": "100-199",
          "total": "6999",
          "percent": "13.3"
        },
        {
          "id": "32",
          "points": " >100",
          "total": "5276",
          "percent": "10"
        }
      ]
    },
    {
      "id": "33",
      "year": "2011",
      "total": "54341",
      "points": [
        {
          "id": "34",
          "points": "600",
          "total": "162",
          "percent": "0.3"
        },
        {
          "id": "35",
          "points": "500-599",
          "total": "4863",
          "percent": "8.6"
        },
        {
          "id": "36",
          "points": "400-499",
          "total": "12235",
          "percent": "22.5"
        },
        {
          "id": "37",
          "points": "300-399",
          "total": "13860",
          "percent": "18.4"
        },
        {
          "id": "38",
          "points": "200-299",
          "total": "9966",
          "percent": "18.4"
        },
        {
          "id": "39",
          "points": "100-199",
          "total": "7477",
          "percent": "13.8"
        },
        {
          "id": "40",
          "points": " >100",
          "total": "5928",
          "percent": "10.9"
        }
      ]
    },
    {
      "id": "34",
      "year": "2010",
      "total": "54480",
      "points": [
        {
          "id": "35",
          "points": "600",
          "total": "136",
          "percent": "0.2"
        },
        {
          "id": "36",
          "points": "500-599",
          "total": "4564",
          "percent": "8.4"
        },
        {
          "id": "37",
          "points": "400-499",
          "total": "11973",
          "percent": "22"
        },
        {
          "id": "38",
          "points": "300-399",
          "total": "13878",
          "percent": "25.5"
        },
        {
          "id": "39",
          "points": "200-299",
          "total": "10391",
          "percent": "19.1"
        },
        {
          "id": "40",
          "points": "100-199",
          "total": "7294",
          "percent": "13.4"
        },
        {
          "id": "41",
          "points": " >100",
          "total": "6244",
          "percent": "11.5"
        }
      ]
    }
  ]
}

我希望有人可以帮助控制循环的输出。

【问题讨论】:

  • 你到底想知道什么???
  • 什么循环?只有一个对象
  • 如果没有看到您的实际代码,几乎不可能猜出原因。
  • 如果您在遇到问题的循环方面需要帮助,您必须向我们展示您用于循环的代码。您在这里展示的只是一个 Javascript 对象定义。如果您不通过包含您的实际循环代码进行澄清,您的问题很快就会结束。

标签: javascript json loops for-loop


【解决方案1】:

你没有显示任何代码,但我猜你的问题是 JavaScript 中的典型问题:

JavaScript closure inside loops – simple practical example

查看neurosnap的答案。

http://coffeescript.org/#loops 在 CoffeeScript 中它更简单:

for filename in list
  do (filename) ->
    fs.readFile filename, (err, contents) ->
      compile filename, contents.toString()

基本上,您需要在 JavaScript 的 for 循环中使用 lambda/IIFE 来循环以避免您的问题。

【讨论】:

    猜你喜欢
    • 2017-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-02
    • 2014-02-24
    • 2020-03-22
    • 1970-01-01
    • 2015-04-15
    相关资源
    最近更新 更多