2011-05-03 74 views
60

是否有可能在Javascript中创建自己的对象列表?这是我想存储的数据的类型:在Javascript中创建对象列表

日期:2011/12/1 读:3 ID:20055

日期:13/1/2011 读:5 ID:20053

日期:14/1/2011 读:6 ID:45652

回答

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 } 
]; 

,然后访问它:

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

我会将每个项目单独添加到列表中,那么正确的语法是什么? – user517406 2011-05-03 11:44:34

+2

我认为它会是这样的 list [list.length] = {date:'11/11/1999',阅读:3,id = 1}; Regards – Marwan 2011-05-03 12:13:14

+28

@ user517406,像这样:'var list = []; list.push({date:'12/1/2011',阅读:3,id:20055});'。 – 2011-05-03 12:22:39

29

动态建立的对象列表

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

这里的工作示例http://jsfiddle.net/b9f6Q/2/ 看到控制台输出

+0

非常好的答案。这和c#列表一样清晰。 – 2016-06-22 07:08:55

-1

也许你可以创建一个这样的数组:

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

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

去关闭tbradley22的回答,但使用.map代替:

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

所以,我已经习惯了使用

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

这是怎么对我的作品,但可能是你不同,我建议看一些统一教程上的脚本API。