es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Ordenamiento de matrices anidadas para datos a granel

Tengo los siguientes datos como una matriz anidada, por favor vea el siguiente fiddle
https://jsfiddle.net/athulmathew/z3s1w0mu/
Quiero obtener el resultado de la matriz como se muestra a continuación

var item {caller_number_raw : datos de la matriz, company_id: datos de la matriz}

Intenté ordenarlo de la siguiente manera
“`js
for (i in data.data.hits) {
for (j in data.data.hits[i].<em>source) {<br>
//str += data.data.hits[i].</em>source[j] + "<br/>";
var Item ={CallerID:data.data.hits[i].<em>source[j].caller</em>number}<br>
console.log(Item)
}
}</p>

“`
pero devuelve un objeto vacío “{}” No estoy muy familiarizado con las matrices anidadas, ¿alguien puede ayudarme a entender qué estoy haciendo mal aquí?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema con tu código es que estás tratando de acceder directamente a la propiedad caller_number desde el objeto interno _source. Como _source en sí es un objeto, debes acceder a sus propiedades utilizando sus nombres. Además, también debes asignar la propiedad company_id a tu objeto Item. Aquí te muestro cómo puedes modificar tu código para lograr el resultado deseado:

    for (i in data.data.hits) {
      var callerNumber = data.data.hits[i]._source.caller_number_raw;
      var companyId = data.data.hits[i]._source.company_id;
      var Item = {caller_number_raw: callerNumber, company_id: companyId};
      console.log(Item);
    }
    

    Esto debería iterar a través de cada hit en tu arreglo de datos y crear un objeto Item con las propiedades caller_number_raw y company_id, y luego imprimirlo en la consola.

Comments are closed.