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