[英]Javascript why can't i use an array like this and how can i access the array with a calculated number
var nodesXY = ['15% 15%','30% 16%','19% 42%','39% 80%',];
var number = ["0","1","2","3","4","0","0","0"];
//some loop
AccesNodes(number[1]);
function AccesNodes(number){
console.log(number);
//number = number;
var firstNode = nodesXY[number];
console.log(nodesXY[number]);
console.log(firstNode);
number++;
var secondNode = nodesXY[number];
console.log(nodesXY[number]);
console.log(secondNode);
number = number + 4;
var secondNode = nodesXY[number];
console.log(nodesXY[number]);
console.log(secondNode);
}
当我记录firstNode
时,我没有得到undefined
但是当我计算到“下一个节点”的数字并尝试获取var secondNode = nodesXY[number+1];
我得到一个未定义的。 为什么这不起作用? 有没有其他方法可以得到这个? 我到处都搜索过。
在数字数组中使用数字,而不是字符串
var number = [0,1,2,3,4,0,0,0];
您的数字数组包含字符串而非实际数字"1" + 1
将产生"11"
而不是2
,这不是数组中的键。 使用number = [0,1,...]
或使用parseInt(number) + 1
。
您的数组number
包含string
类型的元素。 尽管JavaScript不是类型强大的,但变量和元素仍然包含某些特定类型的数据。
当您访问number[X]
,它将返回一个字符串。 为了使其工作,你必须创建一个数字数组: var number = [1,2,3,...]
或使用parseInt(number[X])
将数组返回的字符串解析为数字parseInt(number[X])
。
有关JavaScript var
可以容纳的不同类型的列表,请参阅MDN JavaScript文档中的此页面 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.