2014-10-03 114 views
2

我有一个设置如下如何以字符串形式返回关联数组键?

var myArray = [ 
    {'10/3/2014': "some value"}, 
    {'10/4/2014': "some value"}, 
    {'10/5/2014': "some value"}]; 

这是我所需要的数据的简单版本的数组,我能够访问,就像我期望的数组中的值。

我的问题:如何将键值用作字符串? 我希望能够使用我在其他地方用作显示目的的键的日期。

编辑有关问题

我有JSON数据如下

活动更多的细节:{2014年10月3日:[{}],2014年10月4日:[{},{} ],2014年10月5日:[{},{}]}

每个日期代表具有一个或多个事件详细信息的数组(实际数据已删除,因此您可以在不占用更多空间的情况下获得创意)。我遍历这些项目并按照我的预期使用它们,但是我想使用日期并且不知道如何访问它们。

+7

这不是关联数组,这是一个对象的数组。 – 2014-10-03 18:31:22

+1

问题不明确。你想创建一个单一的查找对象,其中的键是基于特定日期快速查找值的日期? – plalx 2014-10-03 18:33:31

+0

你是什么意思?“我如何使用键值作为字符串?”?你有尝试迭代通过数组与循环嵌套for循环遍历对象的属性?你试图达到什么样的最终结果? – scrappedcola 2014-10-03 18:35:31

回答

1

尝试使用Object.keys()

例子:

var myArray = [{ '10/3/2014': "some value"}, {'10/4/2014': "some value"}, {'10/5/2014': "some value"}]; 
Object.keys(myArray[0])[0]; // will return '10/3/2014' 
Object.keys(myArray[1])[0]; // will return '10/4/2014' 
Object.keys(myArray[2])[0]; // will return '10/5/2014' 

希望这有助于!

2

设置好它像一个对象:

var myVar = { '10/3/2014': "some value", '10/4/2014': "some value", '10/5/2014': "some value"}; 

然后,你可以这样调用它

alert(myVar['10/3/2014']); 
2

我要你的阵列创建一个对象地图,它们的键是日期,这里是这样做的一种方式:

var myArray = [ 
    {'10/3/2014': "some value"}, 
    {'10/4/2014': "some value"}, 
    {'10/5/2014': "some value"} 
]; 

var valuesMap = myArray.reduce(function (map, obj) { 
    var date = Object.keys(obj).pop(); 

    map[date ] = obj[date]; 

    return map; 
}, {}); 

//{10/3/2014: "some value", 10/4/2014: "some value", 10/5/2014: "some value"} 
1

我会做这样的事情有一个数组的帮助: http://jsfiddle.net/csdtesting/et1m795a/

var myArray = [{ 
 
    '10/3/2014': "some value" 
 
}, { 
 
    '10/4/2014': "some value" 
 
}, { 
 
    '10/5/2014': "some value" 
 
}]; 
 

 
var splashArray = new Array(); //the array with the key names 
 
$.each(myArray, function(key, value) { 
 
    $.each(value, function(key, value) { 
 
    //console.log(key, value); 
 
    splashArray.push(key); 
 
    }); 
 
}); 
 
document.write(splashArray[0]) /*10/3/2014*/
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>

+0

解释倒票plz! – 2014-10-03 19:08:54

+0

@ user3648646是你想要的 – 2014-10-03 19:11:42

+0

Downvoted没有理由... – 2014-10-03 23:28:00

相关问题