Javascript数组在功能发生变化后不涉及

用户名

我糊涂了。我有一个数组,myArray = [2, 2, 2, 1, 1]并且不知道,它采用了数组testArray的值。

if(count == 5) {
    alert("beginn" + myArray[2]);
    var testArray=testFunction(myArray);
    alert("middle" + myArray[2]);
    var testCount=countNumber(testArray);
    if (testCount = 3){
        count = 4;
    }
}

这是函数:

function testFunction(testArray){
    var minimum=Math.min.apply(Math,testArray);
    var i=0;
    var position=-1;
    for(i;i<testArray.length;i++){
        if(position==-1){
            if(minimum==testArray[i]){
                position=i;
            }
        }
    }
    i = 0;
    for(i; i < testArray.length; i++){
        if(i != position){
            testArray[i] = testArray[i] - 1;
        }
    }

    return testArray;
}

所以在testArray函数正确之后[1,1,1,1,0],但不幸的是myArray和我也不知道为什么。

埃琳娜

在JavaScript中,将数组对象分配给另一个变量时,基本上是在将指针分配给原始数组对象。这意味着如果您这样做:

var myArray = [1,2,3,4];
var testArray = myArray;

那么对testArray所做的任何更改也将对myArray进行更改,因为它们实际上是同一数组!

为了myArray避免更改,您需要传递数组的副本:

var myCopy = myArray.slice(0);
var testArray=testFunction(myCopy);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

变量用作功能参数后发生变化

来自分类Dev

推入数组后变量值发生变化

来自分类Dev

容器道具在儿童状态变化后发生变化

来自分类Dev

当数组依赖关系发生变化时,为什么不触发使用效果?

来自分类Dev

从 C 中的函数返回后数组元素发生变化

来自分类Dev

在ionic3中搜索数据后原始数组值发生变化?

来自分类Dev

Javascript排序数组使窗口对象发生变异,但在遍历窗口对象时不会发生变化

来自分类Dev

为什么在使用 javascript 在画布上重新绘制后颜色会发生变化?

来自分类Dev

向后推入向量后数字发生变化

来自分类Dev

向量的大小在传递给函数后发生变化

来自分类Dev

在MATLAB中写入后像素值发生变化

来自分类Dev

ttyUSB号码在重启后发生变化

来自分类Dev

放置后,SKSpriteNode的位置发生变化

来自分类Dev

加载JWplayer后元素的位置发生变化

来自分类Dev

旋转后Android语言发生变化

来自分类Dev

表单提交后值发生变化(下拉表单)

来自分类Dev

向后推入向量后数字发生变化

来自分类Dev

GLPK变量似乎在解决后发生变化

来自分类Dev

重启后键盘布局发生变化

来自分类Dev

分配内存后结构值发生变化

来自分类Dev

选择后WordPress图片的颜色发生变化

来自分类Dev

重启后键盘布局发生变化

来自分类Dev

ttyUSB号码在重启后发生变化

来自分类Dev

从函数返回后指针发生变化

来自分类Dev

ls命令后,前景色发生变化

来自分类Dev

旋转后UIImageView的高度和宽度发生变化

来自分类Dev

添加动画属性后,元素位置发生变化

来自分类Dev

重新启动后nftables发生变化

来自分类Dev

从方法传出后返回指针值发生变化

Related 相关文章

热门标签

归档