Jquery 将对象保存在变量中并对其进行解析
我有一个目标:Jquery 将对象保存在变量中并对其进行解析,jquery,Jquery,我有一个目标: var eventsDates = new Array( "basket":"11-10-2012", "soccer":"21-10-2012", "soccer":"28-10-2012", "baseball":"25-11-2012", "baseball":"15-12-2012" ); 我需要通过比赛来提取日期,比如足球,而不是像这样保存结果 var eventsDates = new Array( "21
var eventsDates = new Array(
"basket":"11-10-2012",
"soccer":"21-10-2012",
"soccer":"28-10-2012",
"baseball":"25-11-2012",
"baseball":"15-12-2012"
);
我需要通过比赛来提取日期,比如足球,而不是像这样保存结果
var eventsDates = new Array(
"21-10-2012",
"28-10-2012"
);
有什么建议吗
卢卡
< P>我会考虑一种不同的数据结构:var eventDates = {
Soccer: [{
date: ...
]},
Basket: [{
date: ...
]}
};
然后,您可以轻松访问f.e.所有足球日期:
for (var i = 0; i <= eventDates.Soccer.length; i++) {
// Do something with eventDates.Soccer[i]
}
for(var i=0;i看起来您建议在一个数组中有一系列对象:
var events = [
{"basket":"11-10-2012"},
{"soccer":"21-10-2012"},
{"soccer":"28-10-2012"},
{"baseball":"25-11-2012"},
{"baseball":"15-12-2012"}
];
var count = events.length, dates = [], m;
while (count--)
if (m = events[count]["soccer"])
dates.push(m);
console.log(dates);
小提琴:不要混合使用数组
和对象
使用其中一种:
var eventDates = [
"11-10-2012",
"21-10-2012",
"28-10-2012",
"25-11-2012",
"15-12-2012"
];
或
也就是说,您不能重复使用同一个密钥(如棒球
),因此最佳结构应为以下结构之一:
var eventDates = {
"basket": ["11-10-2012"],
"soccer": ["21-10-2012", "28-10-2012"]
"baseball": ["25-11-2012", "15-12-2012"]
};
和访问,如eventDates.batball
$.each(eventDates.baseball, function (k, v) {
alert(v);
});
您也可以执行以下操作,但随后必须使用自定义提取器,该提取器将涉及在任何时候只需要某个名称的日期对整个数组进行迭代
var eventDates = [
{"name": "basket", "date":"11-10-2012"},
{"name":"soccer", "date":"21-10-2012"},
{"name": "soccer", "date":"28-10-2012",
{"name": "baseball", "date":"25-11-2012"},
{"name":"baseball", "date":"15-12-2012"}
];
这不是一个对象,这是一个语法错误的数组。第一个对象的语法不正确,即使是{}
object notation,您有重复的键。语法应该如何首先确定您是要使用一个对象还是一个对象数组。然后展示您尝试过的内容。它不应该仅仅是一个简单的循环。如果遇到问题,请返回。太好了!这是让数组在同一块引号中放置更多日期的另一种方法吗?@roybatty I d我不明白你在问什么。
$.each(eventDates.baseball, function (k, v) {
alert(v);
});
var eventDates = [
{"name": "basket", "date":"11-10-2012"},
{"name":"soccer", "date":"21-10-2012"},
{"name": "soccer", "date":"28-10-2012",
{"name": "baseball", "date":"25-11-2012"},
{"name":"baseball", "date":"15-12-2012"}
];