Skip to content

Instantly share code, notes, and snippets.

@stormpython
Created February 4, 2015 21:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save stormpython/eea71583ee877dc69bad to your computer and use it in GitHub Desktop.
Save stormpython/eea71583ee877dc69bad to your computer and use it in GitHub Desktop.
// Pulling values recursively from Pie Chart Data
function getSize (obj) {
return obj.size;
}
function isZero (d) {
return d.size === 0;
}
function pushValToArray (arr, obj) {
return arr.push(getSize(obj));
}
function something (dataArr, emptyArr) {
dataArr.forEach(function (obj) {
if (obj.children) {
something(obj.children, emptyArr);
}
return pushValToArray(emptyArr, obj);
});
}
function checkForAllZeros (arr) {
var valsArr = [];
something(arr, valsArr);
return valsArr.every(isZero);
}
function main () {
var arr = this.chartData.slices.children;
var isAllZeros = checkForAllZeros(arr);
if (!isAllZeros) { return; }
throw new errors.AllZeros();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment