这是什么类型的结构,以及如何使用循环进行此类结构?
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;
});
答案 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 };
});
答案 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})
});