Javascript 为什么我不能使用这样的数组,以及如何使用计算出的数字访问数组
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];
时,我得到了一个未定义的。为什么这行不通?还有其他方法可以得到这个吗?我搜索了所有。
数组number
包含类型为 string
的元素。即使 JavaScript 不是类型强的,变量和元素仍然包含某种特定类型的数据。
当你访问number[X]
时,它将返回一个字符串。为了使它工作,您必须创建一个数字数组:使用 parseInt(number[X])
var number = [1,2,3,...]
或将从数组返回的字符串解析为数字。
有关 JavaScript var
可以容纳的不同类型的列表,请参阅 MDN JavaScript 文档中的此页面。
在数字数组中使用数字,而不是字符串
var number = [0,1,2,3,4,0,0,0];
你的数字数组包含字符串而不是实际数字"1" + 1
将产生"11"
而不是数组中不是键的2
。要么使用number = [0,1,...]
,要么使用 parseInt(number) + 1
.
相关文章:
- 如何从txt文件中获取要在javascript数组中使用的对象
- 在对象数组上使用map()检查差异
- 如何加载JSON数组以使用Angular-Translate翻译AngularJS网页
- 在多维数组中使用 IMG
- 比较数组并使用条件对数组列表进行排序
- 将代理与纯数组一起使用
- PDO fetchAll,fetch及其与解码JSON数组的使用
- PHP和Ajax在回调和返回数组中使用foreach循环
- 在使用promise数组时使用jQuery
- 在for循环中设置断点会导致在数组上使用原型时出错
- 在嵌入式PHP数组中使用JavaScript变量
- 如何在数组上使用 .each()
- 在数组中使用注释字符构建复杂字符串
- 使用 javascript 捕获数组并使用数组的值
- 将数组原型函数与非数组一起使用
- 为什么我的数组无法使用 innerhtml
- 如何在单个语句中的 $$('selector') 数组上使用 PrototypeJS .wrap()
- json 数组未使用 Javascript post 方法发布到 PHP
- 无法循环访问比较文本值的数组,使用量角器未定义的结果
- 动态结果数组需要使用 Angular JS 与不同布局的表绑定