Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何交换数组元素?_Arrays_Sorting_Unity3d_Swap_Unityscript - Fatal编程技术网

Arrays 如何交换数组元素?

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]); //

我有一个数组(在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]); // 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);