我目前正在尝试弄清楚如何设计某种循环来将数据顺序插入到数组中。我在 Unity3D 引擎中使用 Javascript。
基本上,我想将一堆坐标位置存储在一个数组中。每当用户单击屏幕时,我的脚本都会抓取坐标位置。问题是,我不确定如何将它插入到数组中。
我将如何检查数组的索引以确保是否采用了数组 [0],然后使用数组 [1]?也许某种 For 循环或计数器?
谢谢
我目前正在尝试弄清楚如何设计某种循环来将数据顺序插入到数组中。我在 Unity3D 引擎中使用 Javascript。
基本上,我想将一堆坐标位置存储在一个数组中。每当用户单击屏幕时,我的脚本都会抓取坐标位置。问题是,我不确定如何将它插入到数组中。
我将如何检查数组的索引以确保是否采用了数组 [0],然后使用数组 [1]?也许某种 For 循环或计数器?
谢谢
要添加到数组的末尾,只需使用 .push()。
var myArray = [];
var coord1 = [12,59];
var coord2 = [87,23];
myArray.push(coord1);
myArray.push(coord2);
myArray,现在包含两个项目(每个项目都是两个坐标的数组)。
现在,如果您只是像我在这里所做的那样静态声明所有内容(您可以静态声明整个数组),您就不会这样做,但我只是整理了这个示例,向您展示 push 如何添加一个项目到数组的末尾。
有关推送的一些参考文档,请参阅https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/push。
如果以后在读取数组时需要知道数组的长度,可以使用 .length 属性。
var lengthOfArray = myArray.length;
使用.push()
jfriend00 建议的方法也是我的建议,但要回答您关于如何计算下一个索引是什么的问题,您可以使用数组的length
属性。因为 JavaScript 数组是从零开始的length
属性将返回一个比当前最高索引大一的整数,所以length
如果你想在末尾添加另一个项目,也将是使用的索引值:
anArray[anArray.length] = someValue; // add to end of array
要获取数组中的最后一个元素,您当然会说anArray[anArray.length-1]
.
请注意,对于大多数目的,length
将给出数组中元素的数量,但我在上面说“比当前最高索引高一个”,因为 JavaScript 数组非常乐意让您跳过索引:
var myArray = [];
myArray[0] = "something";
myArray[1] = "something else";
myArray[50] = "something else again";
alert(myArray.length); // gives '51'
// accessing any unused indexes will return undefined