-2

I have been taking some online courses recently to try and understand the basics of programming, Gradually trying to increase the complexity of what I am learning. However I cannot seem to be able to control the output of my loop, I either get the last value or [object,object object,object object, object,object]

Any help would be greatly appreciated, I am sure this is quite simple but I have tried for in's for's and for each's and no luck so far.

{
  "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"
        }
      ]
    }
  ]
}

I am hoping someone can maybe help with controlling the output of the loop.

Pang
  • 9,564
  • 146
  • 81
  • 122

1 Answers1

0

You haven't showed any code, but I can guess that your problem is something typical in JavaScript:

JavaScript closure inside loops – simple practical example

Check out neurosnap's answer.

http://coffeescript.org/#loops In CoffeeScript it's even simpler:

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

Basically, you need a lambda/IIFE inside the for loop in JavaScript to loop to avoid your problem.

Community
  • 1
  • 1
Wylie Kulik
  • 696
  • 5
  • 17