arvore = function (arr) {
let anos = unique(arr, "ano");
let produtoras = "";
let produtos = "";
let cprods = 0;
let newarr = {};
newarr.name = "Tudo";
newarr.children = [];
let contaA = 0;
let incluiProds = "";
for (let a = 0; a < anos.length; a++) {
newarr.children[contaA] = {};
newarr.children[contaA].name = anos[a];
newarr.children[contaA].children = [];
produtoras = unique(cfilter(arr, "ano", new RegExp(anos[a])), "produtora");
for (let p = 0; p < produtoras.length; p++) {
newarr.children[contaA].children[p] = {};
newarr.children[contaA].children[p].name = produtoras[p];
produtos = [];
cprods = 0;
for (let ip = 0; ip < arr.length; ip++) {
if (anos[a] == arr[ip].ano && produtoras[p] == arr[ip].produtora) {
produtos[cprods] = arr[ip].nome;
cprods++;
}
}
newarr.children[contaA].children[p].children = [];
for (let j = 0; j < produtos.length; j++) {
newarr.children[contaA].children[p].children[j] = {};
newarr.children[contaA].children[p].children[j].value =
produtoras.length;
newarr.children[contaA].children[p].children[j].name = produtos[j];
}
}
contaA++;
}
return newarr;
}