首页 > 解决方案 > 如何查找对象中存在的键的总数以及分配给javascript中变量的内部嵌套对象

问题描述

使用这些数据,我如何找到 Customer 对象和所有子元素对象的键数?

const Customer = {
"Profile": {
    "A1": {
        "A2": "",
        "A3": "E",
        "A4": "",
        "A5": {
            "Cus": "",
            "Bil": ""
        },
        "Services": [{
            "vA": {
                "Status": 2,
                "Switch-CLLi": "",
                "PLIST": [{
                    "Status": "",
                    "Price": 0
                }, {
                    "Status": "",
                    "Price": 40
                }]
            }
        }]
    },
    "B1": {
        "B2": 953108717,
        "B3": "04"
    }
}} 

标签: javascript

解决方案


您可以为此进行用户递归。

const countKeys = (obj, result) => {
    const keys = Object.keys(obj);
   result.sum+= keys.length;
   result.keys = [...result.keys, ...keys];
   keys.forEach(key => {
      if(typeof(obj[key]) === 'object')
       result= countKeys(obj[key],result);
   })
   return result;
};

在你的方法中调用这个方法

const totalKeys = countKeys(yourObject, { sum: 0, keys: []});

推荐阅读