繁体   English   中英

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

[英]How do I return an associative array key as string?

我有一个数组,设置如下

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

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

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

编辑有关问题的更多详细信息

我有JSON数据如下

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

每个日期代表一个包含一个或多个事件详细信息的数组(实际数据已删除,因此您无需花费更多空间就可以得到创意)。 我遍历所有项目并按预期使用它们,但是我想使用日期,但不知道如何访问它们。

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

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

然后你可以这样称呼它

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

我想从数组中创建一个对象映射,其中键为日期,这是一种方法:

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"}

尝试使用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'

希望这可以帮助!

我会在数组的帮助下做类似的事情: 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> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM