js数组操作




对数组的整体性操作

    var nums1 = [];
    var nums2 = [];
    for(var i=0;i<10;i++){
        nums1[i] = i+1;   
    }
    alert(nums1);       
    //var nums2 = nums1;

    //nums2 = nums1.splice(0);
    nums2 = nums1.concat();
    nums2[0] = 10;
    nums2[9] = 0;
    alert(nums1);
    alert(nums2);
【试问】两次弹出的nums1的结果分别是什么?

 当把一个数组a赋给另外一个数组b时,只是为被赋值的数组a增加了一个新的引用。当修改赋值数组b的值时,被赋值的数组a也会感知到这个变化

    
 【解决之道】
     Array对象有两个String类具有的方法--concat()和splice()
     * concat():处理数组跟处理字符串的方式一样,参数将被附加在数组末尾,返回的函数值是新的Array对象
     * splice():跟String的slice()方法一样,返回的是具有特定项的新数组,如果只有一个参数,该方法将从该位置开始到数组结尾的所有项;如果有两个参数,将返回第一个位置和第二个位置之间的所有项,不包括第二个位置处的项。

猜你喜欢

转载自blog.csdn.net/u010480282/article/details/45531529