如何将关联数组键作为字符串返回?

时间:2014-10-03 18:30:02

标签: javascript

我有一个如下设置的数组

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

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

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

修改有关问题的更多细节

我的json数据如下

活动:{10/3/2014:[{}],2014年10月4日:[{},{}],10/5/2014:[{},{}]}

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

4 个答案:

答案 0 :(得分:2)

只需将其设置为如下对象:

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

然后您可以将其称为

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

答案 1 :(得分: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"}

答案 2 :(得分: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'

希望这有帮助!

答案 3 :(得分: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>
&#13;
&#13;
&#13;