Skip to content

Instantly share code, notes, and snippets.

@blackmiaool
Last active June 24, 2018 07:54
Show Gist options
  • Save blackmiaool/3084adee1971ff3404444b4d79a5077d to your computer and use it in GitHub Desktop.
Save blackmiaool/3084adee1971ff3404444b4d79a5077d to your computer and use it in GitHub Desktop.
getCircularKeys
function getCircularKeys(obj,opt={left:100}){
if(!obj||typeof obj!=='object'){
return ;
}
let keys=Object.keys(obj);
function appendKeys(keys){
opt.left-=keys.length;
if(opt.left<=0){
return true;
}
}
if(appendKeys(keys)){
return keys;
}
for(const key in obj){
const propertiesKeys=getCircularKeys(obj[key],opt);
keys=[...keys,...propertiesKeys]
if(appendKeys(propertiesKeys,opt)){
return keys;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment