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

如何获取每个对象键的 id

如何获取每个对象键的 id

胡说叔叔 2022-07-08 16:16:52
l 有以下数据json,包含在对象键上,这些键是定期更改的  "2461ba4c": [ // <----------- get the main key for each one     "4BD436",    36.346,    33.478,  ],  "2461b87c": [    "06A128",    34.628,    33.584,  ]我想为每个数组获取对象的键。我确实过滤了键.filter(key => key ),但它给了我对象的所有键。我想给每个数组主键对象。function data() {  $.ajax('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', {    type: 'GET',    dataType: 'jsonp',    timeout: 5000  }).done(function(data, textStatus, jqXHR) {    Object.keys(data)      .map(key => data[key])      .map((position) => ({        lat: position[1],        lng: position[2],                        // <----------- Add the main key here for each array      })).filter(position => position.lat && position.lng).forEach(i => {        console.log(i.lat, i.lng, i.heading)      })  })}预期输出:2461b87c, // <---main key34.628,33.584,
查看完整描述

2 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

您可以在 map 方法中创建一个新的 obj 并分配键值,例如,


const dataObj = {

    lat: position[1],

    lng: position[2],

    heading: key

  }

并返回对象。


片段如下,


const data = {

  "2461ba4c": [

    "4BD436",

    36.346,

    33.478,

  ],

  "2461b87c": [

    "06A128",

    34.628,

    33.584,


  ]

}


const newData = Object.keys(data).map(key => {

  const position = data[key];

  const dataObj = {

    lat: position[1],

    lng: position[2],

    heading: key

  }

  return dataObj;

})


newData.filter(position => position.lat && position.lng).forEach(i => {

    console.log(i.lat, i.lng, i.heading)

})


查看完整回答
反对 回复 2022-07-08
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

我们可以in为此使用循环


let arr =  {"2461ba4c": [ 

    "4BD436",

    36.346,

    33.478,

  ],

  "2461b87c": [

    "06A128",

    34.628,

    33.584,

  ]};

  

for( let a in arr){

  document.write(a+"<br>"); 

}


查看完整回答
反对 回复 2022-07-08
  • 2 回答
  • 0 关注
  • 100 浏览
慕课专栏
更多

添加回答

举报

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