2012-12-04 130 views
0

我怎样才能得到第二个值(日期)在一个JavaScript数组?JSON循环通过单个对象

我是新来的,我不能得到它的工作。

{"0":"11-28-2012","4":"11-29-2012","10":"12-03-2012"} 

谢谢!

+0

你应该可以通过简单地做'json_object [1]'来做到这一点。 – Jeremy

+0

看到这个问题:[loop-through-javascript-object](http://stackoverflow.com/questions/684672/loop-through-javascript-object) – DanneManne

+0

你是什么意思的“第二日期”?你拥有的对象确实没有有序的值,并且没有键“1”。 – Bergi

回答

1

下面是一个非常简单的循环。你应该检查对象hasOwnProperty,这对于更复杂的对象很重要。

如果你的对象被称为OBJ:

obj = {"0":"11-28-2012","4":"11-29-2012","10":"12-03-2012"}; 
for (var i in obj) { 
    console.log(obj[i]); 
} 

或不循环:

obj = {"0":"11-28-2012","4":"11-29-2012","10":"12-03-2012"}; 
console.log(obj[0]); // displays "11-28-2012" 
+1

您不应将对象命名为“'arr'”,因为它不是数组。 – Bergi

+0

你是完全正确的,我已经更新了答案。谢谢。 – timc

+0

嗨,谢谢你的回答,但我无法得到它的工作。我有一个PHP在数组上做json_encode,然后当我console.log()通过ajax返回数组时,我得到该对象返回,但我无法通过它循环..http://jsfiddle.net/qL6dk/ – intelis

0

在JavaScript中,键的顺序是不确定的。如果你真的想,你可以使用下划线values功能

_.values(obj)[1] 
0

不是真的确定要做到你想要的。但是,如果您想在month-date-year中获得日期,请使用split()

var jsonDate = {"0":"11-28-2012","4":"11-29-2012","10":"12-03-2012"}; 

console.log(jsonDate["0"].split('-')[1]); //28 
console.log(jsonDate["4"].split('-')[1]); //29 
console.log(jsonDate["10"].split('-')[1]); //03