gpt4 book ai didi

javascript - 在 Javascript 二维数组上获取类型错误

转载 作者:行者123 更新时间:2023-11-29 20:51:38 25 4
gpt4 key购买 nike

我将数组[0][0] 和数组[0][1] 分配给预定义变量,并将数组的其余部分分配给带有for 循环的php 变量中的数据。

function getDistance(){
var row = JSON.parse(document.getElementById('rows').innerHTML);
var markers = JSON.parse(document.getElementById('markers').innerHTML);
var distance = new Array(row);
for (var i = 0; i < row; i++) {
distance[i] = new Array(2);
}
distance [0][0]= 16.78789;
distance [0][1]= 96.15291;
for(var i = 0; i<markers.length; i++){
var latt = parseFloat(markers[i].latitude);
var longt = parseFloat(markers[i].longitude);
distance [i+1][0]= latt;
distance [i+1][1]= longt;
}
}

这就是我在距离 [i+1] 中出现错误的地方。它说 distance[i+1] 是未定义的。如果我在 for 循环中分配距离 [i][0],代码工作正常,这意味着我分配给距离 [0][0] 和 [0][1]。它不允许我从数组索引 1 开始。这段代码正在运行,我的变量没有任何问题我得到了我想要的所有变量,只在数组索引时出错。

function getDistance(){
var row = JSON.parse(document.getElementById('rows').innerHTML);
var markers = JSON.parse(document.getElementById('markers').innerHTML);
var distance = new Array(row);
for (var i = 0; i < row; i++) {
distance[i] = new Array(2);
}
for(var i = 0; i<markers.length; i++){
var latt = parseFloat(markers[i].latitude);
var longt = parseFloat(markers[i].longitude);
distance [i][0]= latt;
distance [i][1]= longt;
}
}

最佳答案

在解析 JSON 后确保“行”是一个数字,否则你的数组在 0 处包含单个“字符串”或“对象”项

var row = parseInt(JSON.parse(document.getElementById('rows').innerHTML));

然后检查“距离”长度

var distance = new Array(row);
console.log(distance)

关于javascript - 在 Javascript 二维数组上获取类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51550417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com