You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取JSON数组中JSON对象的名称(如channelA、channelB)

获取频道名称值的解决方案

嘿,我来帮你搞定这个问题!你已经在用for循环遍历epg数组了,接下来只需要在循环里拿到每个数组元素的键名(也就是channelA、channelB这类频道名称)就行,毕竟每个数组元素都是只包含一个频道对象的结构。

具体实现代码

var epg = [
  { "channelA": { "programmes": [ { "start_utc": 1522208700, "stop_utc": 1522209600 }, { "start_utc": 1522209600, "stop_utc": 1522210800 } ] } },
  { "channelB": { "programmes": [ { "start_utc": 1522256700, "stop_utc": 1522260800 }, { "start_utc": 152229000, "stop_utc": 1522318900 } ] } }
];

// 用来存所有频道名称的数组
var channelNames = [];

for (var k = 0; k < epg.length; k++) {
  // 拿到当前元素的唯一键名(就是频道名称)
  var currentChannel = Object.keys(epg[k])[0];
  channelNames.push(currentChannel);
  
  // 要是你还需要同时处理频道的节目数据,也可以这样获取
  var channelProgrammes = epg[k][currentChannel].programmes;
  console.log(`频道 ${currentChannel} 的节目列表:`, channelProgrammes);
}

// 最后输出所有频道名称
console.log("收集到的频道名称:", channelNames); // 结果会是 ["channelA", "channelB"]

关键点解释

  • Object.keys(epg[k])会返回当前数组元素的所有属性名数组,因为每个元素只有一个频道对象,所以取索引[0]就能精准拿到频道名称。
  • 如果你只需要频道名称,把currentChannel存入数组就搞定;如果还要操作节目数据,通过epg[k][currentChannel]就能拿到对应的频道对象,再访问programmes属性就行。

内容的提问来源于stack exchange,提问作者burakk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:52:47