如何制作这样的结构?

时间:2011-06-23 15:21:59

标签: javascript jquery

这是什么类型的结构,以及如何使用循环进行此类结构?

var movies = [
     { Name: "The Red Violin", ReleaseYear: "1998" },
     { Name: "Eyes Wide Shut", ReleaseYear: "1999" },
     { Name: "The Inheritance", ReleaseYear: "1976" }
];

我正在使用each作为循环

$.each(result, function(key, value){

    movies??? = this.name;
    movies??? = this.year;

});

7 个答案:

答案 0 :(得分:8)

这是一个对象数组:

var movies = [];

$.each(result, function(key, value){
   movies.push({Name: this.name, ReleaseYear: this.year});
});

您可以看到包装结构是一个数组:

$.isArray(movies); // true

并且每个元素都是一个对象:

$.isPlainObject(movies[0]); // true

答案 1 :(得分:2)

这是一个 JSON 对象的数组。要添加“电影”,只需执行以下操作:

movies.push({Name: "Kung Fu Panda 2", ReleaseYear: "2011"});

答案 2 :(得分:2)

var movies = [];
$.each(result, function(key, value){
    movies.push( { Name: this.name, ReleaseYear: this.year });
});

答案 3 :(得分:2)

假设你循环中有一些电影数组对象,你可以使用名称年份对象填充它,如下所示:

movies.push({Name: "name", ReleaseYear: "2011"});

答案 4 :(得分:2)

var movies = $.map(results, function(v) {
  return { Name: v.name, ReleaseYear: v.year };
});

$.map

答案 5 :(得分:1)

@davin介绍了实现,但我已经介绍了最初的问题。

您要创建的对象是javascript的对象文字符号。

更常见的是,您会看到在JS和其他技术之间传输信息时使用的相同语法(尽管它可以用于JS以外的技术,因为它是标准)。在这些情况下(序列化时),信息被视为JSON (Javascript Object Notation) [wikipedia] [RFC 4627]

答案 6 :(得分:0)

这是一个对象数组。数组就像一个列表,所以这将是一个对象列表。每个对象都有两个属性:Name和ReleaseYear。我不确定你的数据来自哪里,但尝试这样的事情:

var movies = new Array();
$.each(result, function(key, value){
    movies.push({Name: this.name, ReleaseYear:this.year})        
});