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

如何获取动态键名的JavaScript字典中add/delete数组的长度?

获取动态键名对象中add和delete数组的长度

给定的JavaScript对象外层键名是动态值(如示例中的"F1.1"),无法直接通过固定键名访问内层结构,可通过以下几种方式获取add和delete数组的长度:

方法一:针对外层仅单个键的场景

直接通过Object.values()提取内层对象,再访问数组长度:

const data = {"F1.1": {"add": [{"id": 169138,"name": "volkswagen"},{"id": 173212,"name": "skoda"}],"delete": [{"id": 175555,"name": "mercedes"}]}};

// 提取唯一的内层对象
const innerObj = Object.values(data)[0];

// 获取数组长度
const addArrLength = innerObj.add.length; // 结果:2
const deleteArrLength = innerObj.delete.length; // 结果:1

方法二:兼容外层多个动态键的场景

通过Object.keys()遍历所有外层键,逐个处理内层对象:

const data = {"F1.1": {"add": [{"id": 169138,"name": "volkswagen"},{"id": 173212,"name": "skoda"}],"delete": [{"id": 175555,"name": "mercedes"}]}};

// 遍历所有外层键
for (const key of Object.keys(data)) {
  const innerObj = data[key];
  const addLen = innerObj.add.length;
  const deleteLen = innerObj.delete.length;
  console.log(`键${key}对应的add数组长度:${addLen},delete数组长度:${deleteLen}`);
}

方法三:用Object.entries()解构获取内层对象

通过Object.entries()获取键值对数组,解构提取内层对象:

const data = {"F1.1": {"add": [{"id": 169138,"name": "volkswagen"},{"id": 173212,"name": "skoda"}],"delete": [{"id": 175555,"name": "mercedes"}]}};

// 解构第一个键值对的value部分
const [, innerObj] = Object.entries(data)[0];

const addLength = innerObj.add.length;
const deleteLength = innerObj.delete.length;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 21:55:10