2011-05-03 33 views
60

¿Es posible crear una lista de sus propios objetos en Javascript? Este es el tipo de datos que desea almacenar:creando lista de objetos en Javascript

Fecha: 12/1/2011 de lectura: 3 ID: 20055

Fecha: 13/1/2011 de lectura: 5 ID: 20053

Fecha: 14/1/2011 de lectura: 6 ID: 45652

Respuesta

99
var list = [ 
    { date: '12/1/2011', reading: 3, id: 20055 }, 
    { date: '13/1/2011', reading: 5, id: 20053 }, 
    { date: '14/1/2011', reading: 6, id: 45652 } 
]; 

y luego acceder a ella:

alert(list[1].date); 
+0

Agregaría cada elemento a la lista individualmente, ¿cuál sería la sintaxis correcta para hacer eso? – user517406

+2

creo que sería así list [list.length] = {date: '11/11/1999 ', reading: 3, id = 1}; Saludos – Marwan

+28

@ user517406, así: 'var list = []; list.push ({fecha: '12/1/2011 ', lectura: 3, id: 20055}); '. –

29

lista de objetos dinámicamente construir

var listOfObjects = []; 
var a = ["car", "bike", "scooter"]; 
a.forEach(function(entry) { 
    var singleObj = {} 
    singleObj['type'] = 'vehicle'; 
    singleObj['value'] = entry; 
    listOfObjects.push(singleObj); 
}); 

aquí es un ejemplo de trabajo http://jsfiddle.net/b9f6Q/2/ ver la consola para la salida

+0

Muy buena respuesta. Esto es tan claro como C# list. –

-1

Tal vez se puede crear una matriz de esta manera:

 var myList = new Array(); 
    myList.push('Hello'); 
    myList.push('bye'); 

    for (var i = 0; i < myList .length; i ++){ 
     window.console.log(myList[i]); 
    } 
4

Dejar de tomar de la respuesta de tbradley22, pero usando .map en su lugar:

var a = ["car", "bike", "scooter"]; 
a.map(function(entry) { 
    var singleObj = {} 
    singleObj['type'] = 'vehicle'; 
    singleObj['value'] = entry; 
    return singleObj; 
}); 
1

Por lo tanto, estoy acostumbrado a utilizar

var nameOfList = new List("objectName", "objectName", "objectName") 

Ésta es la forma en que funciona para mí, pero podría ser diferente para usted, le recomiendo ver algunos tutoriales Unidad en la API de secuencias de comandos.