How to convert an array of pairs [key, value] into an object?

-2

I have an array that previously orders

'Array: [ [ '2015', [ 11, 12 ] ],
  [ '2016', [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] ],
  [ '2017', [ 1, 2, 3, 4, 5, 6 ] ] ]'

'Array reverseado:  [ [ '2017', [ 1, 2, 3, 4, 5, 6 ] ],
  [ '2016', [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] ],
  [ '2015', [ 11, 12 ] ] ]'

Now I want that reverse array (for reasons of my algorithm), to convert it into an object

    
asked by Eddy 24.07.2017 в 19:13
source

1 answer

0

I have done a function that goes from Array to Object. I hope it serves you:

function aObjeto(array) {
    var objeto = {};
    for (var i in array) {
        if (Array.isArray(array[i])) {
            objeto[i] = aObjeto(array[i]);
        } else {
            objeto[i] = array[i];
        }
    }

    return objeto;
}

var array = [];
array["Miembro1"] = "Valor Miembro 1";
array["Miembro2"] = [];
array["Miembro2"]["Miembro21"] = "Valor Miembro 2.1";
array["Miembro2"]["Miembro22"] = [];
array["Miembro2"]["Miembro22"]["Miembro221"] = "Valor Miembro 2.2.1";

//Verdadero
console.log(Array.isArray(array));

var objeto = aObjeto(array);
//Falso
console.log(Array.isArray(objeto));
console.log(objeto);
    
answered by 24.07.2017 в 19:45