首页 > 解决方案 > 获取数组内的对象

问题描述

{"joker":{"baseMapId":"1536abe5e5504e5db380ccfaa9b6fd8d","customBaseMap":"","zoomn":"5","orient":"0","centLon":"-93.69999999999843","centLat":"38.64999999999935","baseMapLabels":"true"}}
{"batman":{"baseMapId":"1536abe5e5504e5db380ccfaa9b6fd8d","customBaseMap":"","zoomn":"5","orient":"0","centLon":"-93.69999999999843","centLat":"38.64999999999935","baseMapLabels":"true"}}
{"merman":{"baseMapId":"1536abe5e5504e5db380ccfaa9b6fd8d","customBaseMap":"","zoomn":"5","orient":"0","centLon":"-93.69999999999843","centLat":"38.64999999999935","baseMapLabels":"true"}}

我的数据如下所示;例如,我如何循环并获取蝙蝠侠的数据。

我已经尝试过data['batman']-data[0][batman]我想要的结果是得到整体喜欢,如下:

{"batman":{"baseMapId":"1536abe5e5504e5db380ccfaa9b6fd8d","customBaseMap":"","zoomn":"5","orient":"0","centLon":"-93.69999999999843","centLat":"38.64999999999935","baseMapLabels":"true"}}

标签: javascriptarraysobject

解决方案


首先,您的共享结构是错误的。它不是一个数组,而是一个一个写入 3 个对象,因此您必须将它们放入适当的数组结构中。

let arr = [{
  "joker": {
    "baseMapId": "1536abe5e5504e5db380ccfaa9b6fd8d",
    "customBaseMap": "",
    "zoomn": "5",
    "orient": "0",
    "centLon": "-93.69999999999843",
    "centLat": "38.64999999999935",
    "baseMapLabels": "true"
  }
}, {
  "batman": {
    "baseMapId": "1536abe5e5504e5db380ccfaa9b6fd8d",
    "customBaseMap": "",
    "zoomn": "5",
    "orient": "0",
    "centLon": "-93.69999999999843",
    "centLat": "38.64999999999935",
    "baseMapLabels": "true"
  }
}, {
  "merman": {
    "baseMapId": "1536abe5e5504e5db380ccfaa9b6fd8d",
    "customBaseMap": "",
    "zoomn": "5",
    "orient": "0",
    "centLon": "-93.69999999999843",
    "centLat": "38.64999999999935",
    "baseMapLabels": "true"
  }
}]

像这样的结构可以通过Array.find()如下所示进行搜索。

arr.find(el => Object.keys(el)[0] === 'batman' )

推荐阅读