首页 > 解决方案 > 通过 JSON 循环并根据位置获取数组

问题描述

我有一个 json 对象和一个虚拟 json 响应。我需要遍历它并获取每个坐标的新数组,每个循环一个。

示例 JSON:

customersBarChart: {
    "2014": {
             "x": 1,
             "y": 5,
             "z":10           
            },
    "2015": {
             "x": 8,
             "y": 2,
             "z":5
            },
}

预期结果是:

first X loop  MyArray = [1,8]
second Y loop MyArray = [5,2]
third Z loop  MyArray = [10,5]

标签: javascriptecmascript-5

解决方案


您可以使用循环对象for (let o in obj)并从那里获取值。您现在可以通过将数据从obj[o]指定数组的末尾推送来创建 3 个单独的数组。

let obj = {
  "2014": {
    "x": 1,
    "y": 5,
    "z": 10

  },
  "2015": {
    "x": 8,
    "y": 2,
    "z": 5
  },
}

let arr1 = []
let arr2 = []
let arr3 = []

for (let o in obj) {
  arr1.push(obj[o].x)
  arr2.push(obj[o].y)
  arr3.push(obj[o].z)
}

console.log(arr1.join())
console.log(arr2.join())
console.log(arr3.join())


推荐阅读