我有以下对象:
var abc = { 1: "Raggruppamento a 1", 2: "Raggruppamento a 2", 3: "Raggruppamento a 3", 4: "Raggruppamento a 4", count: '3', counter: { count: '3', }, 5: { test: "Raggruppamento a 1", tester: { name: "Georgi" } } };
我想检索以下结果:
可以在插件的帮助下使用nodejs吗?
您可以通过递归遍历对象来做到这一点:
function getDeepKeys(obj) { var keys = []; for(var key in obj) { keys.push(key); if(typeof obj[key] === "object") { var subkeys = getDeepKeys(obj[key]); keys = keys.concat(subkeys.map(function(subkey) { return key + "." + subkey; })); } } return keys; }
getDeepKeys(abc)在问题中的对象上运行将返回以下数组:
getDeepKeys(abc)
["1", "2", "3", "4", "5", "5.test", "5.tester", "5.tester.name", "count", "counter", "counter.count"]