为了账号安全,请及时绑定邮箱和手机立即绑定

从javascript中的json访问嵌套数组键,值

从javascript中的json访问嵌套数组键,值

繁花如伊 2021-04-25 20:34:44
我是javascript新手。这可能是基本的事情,但我坚持下去。这是我的json:{    "statusCode": 200,    "status": "success",    "data": [        [            {                "city": "Alexandria",                "country": "Egypt",            },            {                "city": "Alexandria",                "country": "Egypt",            },]]我要访问此:0: {city: "Alexandria", country: "Egypt"}1: {city: "Antalya", country: "Turkey"}我尝试了这段代码:getData = function (data) {    keys = Object.keys(data[0]);    data = [];    keys.forEach(function (key) {        data.push(key);    });    return data;}返回以下内容:0: "0"1: "1"2: "2"3: "3"4: "4"5: "5"6: "6请帮我!
查看完整描述

3 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

你可以做:


const response = {

  "statusCode": 200,

  "status": "success",

  "data": [

    [{

        "city": "Alexandria",

        "country": "Egypt",


      },

      {

        "city": "Alexandria",

        "country": "Egypt",


      },

    ]

  ]

};

const getData = data => data[0];


console.log(getData(response.data));


查看完整回答
反对 回复 2021-05-13
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

getData = function(data){

    arr = data.data[0];

    new_data = []

    for(var item in arr){

        new_data.push(arr[item])

    }

}

希望这会帮助你。


查看完整回答
反对 回复 2021-05-13
?
守候你守候我

TA贡献1802条经验 获得超10个赞

首先,您data[0]是一个数组,然后Object.keys(array)将返回indexthat的数组array。前任:


array= [{x: 1}, {x: 2}, {x: 3}]

Object.keys(array) // ['0', '1', '2']

因此,您推送到return数组的只是与您显示的索引相同的索引。


其次,您应该使用不同的变量名以避免误解。在这种情况下,是data可变的。


我更新了功能


const object = {"statusCode": 200,"status": "success","data": [[{"city": "Alexandria","country": "Egypt",},{"city": "Alexandria","country": "Egypt",},]]}


getData = function (arr) {

  data = []

  arr[0].forEach(function (key) {

    data.push(key);

  });

  return data

}


console.log(getData(object.data))


查看完整回答
反对 回复 2021-05-13
  • 3 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信