【发布时间】:2019-11-18 03:34:47
【问题描述】:
我对 Json 有一些问题。
- 当我单击 json 文件时,浏览器或代码编辑器会冻结。
- 我创建了三个数组变量,但每次我推送项目时浏览器都会出现......推送不是一个函数或给我错误的答案。
示例如下:
首先让我们假设 json 格式是这样的:
//json file
[[{"id":1,"status":'idle',"runTimeStart":121212,"runTimeFinished":12121212},{"id":2,"status":'idle',"runTimeStart":121212,"runTimeFinished":12121212},{"id":3, "status":'idle',"runTimeStart":121212,"runTimeFinished":12121212}]];
//I create three array
var status = [];
var runtimeStart = [];
var runtimeFinished = [];
fetch('data.json')
.then(data=> data.json())
.then(res=> allData(res))
//Main function is here
function allData(lop) {
var long = lop[0];
for(var i = 0; i < long.length; i++) {
runtimeStart.push(long[i].runTimeStart);
console.log(long[i].runTimeStart);
console.log(long[i].status);
console.log(long[i].runTimeFinished);
status.push(long[i].status);
console.log(status);
runtimeStart.push(long[i].runTimeStart);
console.log(runtimeStart);
console.log(runtimeStart);
}
}
您可以在此文本上看到代码,所以当我退出时,格式如下:console.log(long[i].status)。浏览器会冻结一会,结果还是注销状态。
但是当我做这样的事情时:status.push(long[i].status);控制台.log(状态);它说 push 不是一个函数。
我很困惑为什么结果会出现错误,希望你们能帮助我,非常感谢!
【问题讨论】:
-
所以,你的问题是:
But when i do something like this: status.push(long[i].status); console.log(status); it says push is not a function -
我看到你提到的 json 中的数组
long......这个数组有多大(即long.length是什么) -
是的,那是我的问题。我只是随机命名的。 json 包含 112 个项目。
-
尝试为
status使用一个不同的名称 ...或使您的代码不在全局上下文中...因为window.status已经是一件事了-@987654321 @
标签: javascript json api