transformación- en una matriz
Frecuentes
Visto 63 veces
1
Entrada:
{ key : "value" ,
list : [
{
key : "values1" ,
list : [
{ key : "value2" , list :[{ key : "simpleValue" } ]
}
]
},
{
key : "value3"
}
]
}
Salida:
{clave: ["valor", "valores1", "valores2", "valor simple", "valores3"]}
el código que escribí para la conversión es
var outputArray=new Array();
var count=0;
function recursion(testData){
if(testData.key==undefined)
{
return ;
}
else
{
outputArray[count]=testData.key;
count++;
for(var k in testData.list)
{
testData1=testData.list[k];
recursion(testData1);
recursion(testData.key);
}
}
return outputArray;
}
El resultado solo me dará la lista de valores en una matriz, como ['valor', 'valores1', 'valor2', 'simpleValue', 'valor3'], ¿cómo uso el método hash para obtener el resultado correcto?
2 Respuestas
0
Mmm algo asi??
var inpObj = { key : "value" ,list : [
{
key : "values1"
},
{
key : "value3"
}
]
};
var outputObj = new Object;
var outputArray = new Array();
function recursion(testData){
if(testData.key==undefined)
{
return;
}
else
{
var newKey={};
//alert(testData.key);
outputArray.push(testData.key);
for(var k in testData.list)
{
testData1=testData.list[k];
recursion(testData1);
recursion(testData.key);
}
}
return outputArray;
}
recursion(inpObj);
if (outputObj.key == undefined) outputObj.key = outputArray;
alert(outputObj.key.join(", "));
contestado el 03 de mayo de 12 a las 09:05
¿Qué error obtienes? Tengo un objeto con clave como "clave" y la clave tiene una matriz con valores. { llave: [] } - Tobi
mmm... mira esto: jsfiddle.net/AhrWU funciona bien... creo que tienes un error de copiar y pegar... ¡comprueba tu código! - Tobi
0
tengo esta cosa solucionada
var outputArray=new Array();
function recursion(testData){
if(testData.key==undefined)
{
return ;
}
else
{
//alert(testData.key);
outputArray.push(testData.key);
for(var k in testData.list)
{
testData1=testData.list[k];
recursion(testData1);
recursion(testData.key);
}
}
var l={};
l.key=outputArray;
return l;
}
contestado el 05 de mayo de 12 a las 14:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas javascript arrays data-structures or haz tu propia pregunta.
¿Quiere decir: { clave: ["valor", "valores1", "valores3"] }? - Tobi
No entiendo, que quieres hacer... por que quieres hacer hachís y para que? - Tobi
¿Es posible obtener una salida en el formato { clave: ["valor", "valores1", "valores3"] } de mi entrada? - user1371896
Por favor, aplique una sangría a su código. - Bergi
¿Por qué necesitaría una función hash para devolver un objeto? - Bergi