我正在处理从API中提取的一些信息。我拥有的数组看起来像这样
var hours =
[
[
"2015-10-21T13:00:00Z",
"2015-10-21T21:00:00Z"
],
[
"2015-10-22T13:00:00Z",
"2015-10-22T21:00:00Z"
]
]
我尝试循环遍历数组并在调用特定时间时调用某些内容。
var res = hours.map(function(v) {
if (v == '2015-10-22T13:00:00Z'){
console.log("this is my test")
}
});
然而,当我尝试在'map'属性中得到此错误时,未定义。
现在奇怪的是我尝试用超级小阵列代替我从api中取出的那个。
array = [ [ '1', '2' ], [ '1', '3' ], [ '3', '4' ] ]
当我尝试使用'array'而不是'hours'
时var res = array.map(function(v) {
我没有收到错误。您是否无法操纵和使用来自API的数组?为什么我的简单的小'数组'工作,但不是'小时'?
我最终需要在'hours'数组中标记特定日期。
答案 0 :(得分:0)
我建议您检查AJAX请求的响应类型。如果它是一个JSON字符串(最常见),你应该在实际迭代数组之前解析响应。
var hours = JSON.parse(YOUR_RESPONSE);
此外,由于它是一个多维数组,您需要检查v[0]
而不是v
这样做:
var hours = [
[
"2015-10-21T13:00:00Z",
"2015-10-21T21:00:00Z"
],
[
"2015-10-22T13:00:00Z",
"2015-10-22T21:00:00Z"
]
];
var res = hours.map(function(v) {
if (v[0] == '2015-10-22T13:00:00Z') { //v[0] not just v
console.log("this is my test")
}
});