【发布时间】:2020-04-19 15:52:28
【问题描述】:
我遇到了一个问题,我无法在 javascript 中调用 .length() 方法到数据数组。目的是能够遍历日期时间字符串数组,以便将它们转换为 javascript 中的日期对象。这是我的代码。
我的数据:
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept
{
"sales_time_axis": [
[
"2019-12-29T10:42:25Z"
],
[
"2019-12-23T03:13:03Z"
],
[
"2019-12-23T02:50:51Z"
]
],
ajax 调用:
$.ajax({
type: "GET",
url: endpoint,
success: function(data) {
window.sales_time = data.sales_time_axis
},
error: function(error_data) {
console.log('error')
console.log(error_data)
}
})
for 循环:
var sales_time;
var date_array = []
for(i = 0 ; i < sales_time.length ; i++){
date_array.push(new Date(sales_time[i]))
}
console.log(data_array)
我已将 sales_time 声明为全局变量,但出现此错误:
(index):179 Uncaught TypeError: Cannot read property 'length' of undefined
at (index):179
您的帮助将不胜感激!
【问题讨论】:
-
你还需要全局变量是数组,如
var sales_time=[]; -
@kelvinkantaria——在回调中分配了一个数组,问题是异步调用。将 sales_time 初始化为空数组会消除错误,但不会解决异步问题。
标签: javascript arrays ajax date