在我的应用程序上,我有一个日期对象,其中包含时间数组 控制台日志输出如下
32: {
1514160000: Array [ 1200, 1500 ],
1514764800: Array [ 1200, 1500 ],
1515369600: Array [ 1200, 1500 ],
1515974400: Array [ 700, 1200, 1500 ],
1516579200: Array [ 700, 1200, 1500 ],
}
有了这些数据,我已经实现了循环来创建一个新的日期数组,其中包含时间和工作者ID,如下所示(类似于此)
1514160000 :[
1200 : [32,40,56],
1500 : [32,40],
],
1514764800: [
1200 : [32,40,56],
1500 : [32,40],
]
我已经为此编写了以下代码,我想通过动态分配日期然后再创建一个数组来创建日期数组。
let allDates :any = [];
for(let pid in this.allAvailableProviders)
{
console.log(pid);
for(let slotDate in this.allAvailableProviders[pid]){
if(!Array.isArray(allDates[slotDate])){
let allDates[slotDate] :any = [];
}
}
}
其中allAvailableProviders是对象
它让我在ng服务上出现以下错误
'=' expected
我该怎么做?
答案 0 :(得分:2)
您只是初始化阵列。没有赋值或需要let:
for(let slotDate in this.allAvailableProviders[pid]){
if(!Array.isArray(allDates[slotDate])){
allDates[slotDate] = [];
}
}
答案 1 :(得分:1)
let
语句后面跟一个变量名,而不是表达式。
您应该将外部数组定义为正确的类型,而不是any
。你知道它是一个数组数组。
let allDates: any[][] = [];
for(let pid in this.allAvailableProviders)
{
console.log(pid);
for(let slotDate in this.allAvailableProviders[pid]){
if(!Array.isArray(allDates[slotDate])){
// You'd get an error if you assigned something that is not an array.
// because you specified the type correctly
allDates[slotDate] = [];
}
}
}