Как можно разбить данный массив на несколько индексных массивов, в которых будут содержаться элементы каждого подуровня. То есть для нашего примера будут массивы со следующими элементами: arr[0] = ["БПИ"];
arr[1] = ["30","60","125","250"];
arr[2] = ["12","24","48","12","24","36","48","12","24","48"];
arr[3] по аналогии. Вложенность может быть ещё больше(то есть появятся arr[4], arr[5] и т.д. вплоть до arr[10].
function findKeys(object, result){
result = result || [];
var keys = [];
$.each(object, function(index, value){
keys.push(index);
if($.isObject(value))
findKeys(object, result);
});
result.push(keys);
return result;
}
var data = findKeys(Config);
Да, тут нужна именно рекурсия.
Поясните пожалуйста как работает эта конструкция: result = result || [];
и эта: $.each(object, function(index, value){
keys.push(index);
function findKeys(object, result){
result = result || []; //Это как необязательный параметр... читайте так findKeys(object, result = [])
var keys = [];
for(var i in object){
if(!object.hasOwnProperty(i))
continue;
keys.push(index);
if($.isObject(value))
findKeys(object, result);
};
result.push(keys);
return result;
}
var data = findKeys(Config);