天天看點

JS數組的應用二

5.數組中新增元素

  • 可以通過修length長度以及索引号增加數組元素

5.1通過修改length長度新增數組元素

可以通過修改length長度來實作數組擴容的目的

length屬性是讀寫的

<script>
    //1.新增數組元素  修改len
        var arr = ['red','green','blue'];
        console.log(arr.length);
        arr.length = 5; //我們數組的長度修改為了5  裡面應該有5個元素
        console.log(arr);
        console.log(arr[3]);
        console.log(arr[4]);
        
    </script>      
  • 其中索引号是4, 5, 6的空間沒有給值,就是聲明變量未給值,預設值就是undefined.

5.2通過修改數組索引新增數組元素

* 可以通過修改數組索引的方式追加數組元素
* 不能直接給數組名指派,否則會覆寫掉以前的資料      

這種方式常用。

<script>
        //2.新增數組元素 修改索引号 追加數組元素
        var arr1 = ['red','green','blue'];
        arr1[3] = 'pink';
        console.log(arr1);
        arr1[4] = 'hotpink';
        console.log(arr1);
        arr1[0] = 'yellow'; //這裡是替換原來的數組元素
        console.log(arr1);
        arr1 = '有點意思';
        console.log(arr1);  //不要直接給 數組名指派  否則裡面的數組元素都沒有了
    </script>      

循環添加數組:

建立一個數組,裡面存放10個整數( 1~10)

核心原理:使用循環來追加數組。

1、聲明一個空數組arr。

2、循環中的計數器i可以作為數組元素存入。

3、由于數組的索引号是從0開始的, 是以計數器從0開始更合适,存入的數組元素要+1。

<script>
        var arr=[];
        for(var i = 0; i< 100; i++){
            //arr = i;  不要直接給數組名指派  否則以前的元素都沒了
            arr[i]=i + 1;
        }
        console.log(arr);
    </script>      

篩選數組案例:

  • 要求:将數組[2, 0,6, 1, 77,0, 52,0, 25, 7]中大于等于10的元素選出來,放入新數組。

案例分析:

1、聲明一個新的數組用于存放新資料newArr.

2、周遊原來的舊數組, 找出大于等于10的元素。

3、依次追加給新數組newArr.

<script>
        //方法一
        var arr = [2, 0,6, 10,1, 77,0, 52,0, 25, 7];
        var newArr = [];
        var j = 0;
        for(var i =0;i<arr.length;i++ ){
            if(arr[i]>=10){
                //新數組應該從0開始  依次遞增
                newArr[j]=arr[i];
               j++;
            }
        }
        console.log(newArr);
        //方法二
        var arr=[2, 0,6, 10,1, 77,0, 52,0, 25, 7];
        var newArr = [];
        //剛開始 newArr.length
        for(var i=0;i<arr.length;i++)
        {
            if(arr[i] >=10){
                //新數組索引号應該從0開始  依次遞增
                newArr[newArr.length]=arr[i];
            }
        }
        console.log(newArr);
    </script>      

數組案例:

将數組[2,0,6,1,77,0,52,0,25,7]中的0去掉後,形成一個不包含0的新數組。

案例分析:

1、需要一個新數組用于存放篩選之後的資料。

2、周遊原來的數組,把不是0的資料添加到新數組裡面(此時要注意采用數組名+索引的格式接收資料)。

3、新數組裡面的個數, 用length 不斷累加。

<script>
        var arr = [2,0,6,1,77,0,52,0,25,7];
        var newArr = [];
        for(var i=0;i<arr.length;i++)
        {
            if(arr[i] != 0)
            {
                newArr[newArr.length] = arr[i];
            }
        }
        console.log(newArr);
    </script>      

數組翻轉案例

案例分析

将數組[‘red’, ‘green’, ‘blue’,‘pink’, ‘purple’] 的内容反過來存放

*

1、聲明一個新數組newArr

*

2、把舊數組索引号第4個取過來(arr . length - 1), 給新數組索引号第0個元素(newArr . length)

*

3、我們采取 遞減的方式 i–

<script>
        //數組翻轉
        var arr = ['red', 'green', 'blue','pink', 'purple'];
        var newArr = [];
        for(var i =arr.length -1; i>=0; i--)
        {
            newArr[newArr.length] = arr[i];
        }
        console.log(newArr);


    </script>      

數組排序(冒泡排序)

冒泡排序:是-種算法,把一系列的資料按照-定的順序進行排列顯示(從小到大或從大到小)。

例如,我們可以将數組[5, 4, 3, 2, 1]中的元素按照從小到大的順序排序,輸出: 1 ,2.3,4,5

<script>
        //冒泡排序
        var arr = [4,2,1,3,5,10];
        for(var i=0;i<=arr.length -1;i++){   //外層循環管趟數
            for(var j=0;j<=arr.length-i-1;j++){ //裡面的循環管   每一趟的交換次數
                //内部交換2個變量的值  前一個和後一個數組元素相比較
                if(arr[j]>arr[j+1]){
                    var temp = arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
        console.log(arr);
    </script>      

繼續閱讀