Arrays 如何交换数组元素?
我有一个数组(在Unity3D的UnityScript文件中),它将检查点作为游戏对象,我正在尝试编写一个函数来交换它们。所以我有Arrays 如何交换数组元素?,arrays,sorting,unity3d,swap,unityscript,Arrays,Sorting,Unity3d,Swap,Unityscript,我有一个数组(在Unity3D的UnityScript文件中),它将检查点作为游戏对象,我正在尝试编写一个函数来交换它们。所以我有 public var cps: GameObject[]; //Initializes correctly function swap(o1:GameObject,o2:GameObject) { var TempGO:GameObject = o1; o1=o2; o2=TempGO; } swap(cps[0],cps[1]); //
public var cps: GameObject[]; //Initializes correctly
function swap(o1:GameObject,o2:GameObject)
{
var TempGO:GameObject = o1;
o1=o2;
o2=TempGO;
}
swap(cps[0],cps[1]); // nothing happens here.
我应该使用指针(不确定它们是否存在于js中)还是其他什么
p、 美国:实际上,我正试图根据他们到某一点的距离,在他们之间做一种排序,所以任何其他建议都将不胜感激
谢谢 如果要交换数组中的两个元素,需要传递数组+两个索引。如果要交换数组中的两个元素,需要传递数组+两个索引。Javascript通过值传递所有内容,不能通过引用传递内容,并且没有指针。因此,如果要交换两个元素,则需要为其提供数组和索引:
function swap(var arr:GameObject[], var i, var j) {
var temp:GameObject = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
就这样说吧
swap(cps, 0, 1);
Javascript通过值传递所有内容,不能通过引用传递内容,并且没有指针。因此,如果要交换两个元素,则需要为其提供数组和索引:
function swap(var arr:GameObject[], var i, var j) {
var temp:GameObject = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
就这样说吧
swap(cps, 0, 1);