js基础---数组

案例1:找出数组arr中大于10的元素,放到一个新数组newArr里
方法①:

<script>
	 var arr = [12, 3, 8, 5, 90, 22];//原数组
	 var newArr = [];//新数组
	 var j = 0;//新数组的索引
	 for (var i = 0; i < arr.length; i++) {
    
    
	     if (arr[i] > 10) {
    
    //找到符合条件的元素
	         newArr[j] = arr[i];
	         j++;//新数组的索引+1
	     }
	 }
	 console.log(newArr);
</script>

方法②:
在数组的末尾插入新元素:数组[ 数组.length ] = 新数据;

<script>
    var arr = [12, 3, 8, 5, 90, 22];
    var newArr = []; //新数组
    for (var i = 0; i < arr.length; i++) {
    
    
        if (arr[i] > 10) {
    
    //找到符合条件的元素
            newArr[newArr.length] = arr[i]; 
        }
    }
    console.log(newArr);
</script>

方法③:
在数组的末尾插入新元素: push()

<script>
     var arr = [12, 3, 8, 5, 90, 22];
     var newArr = []; //新数组
     for (var i = 0; i < arr.length; i++) {
    
    
         if (arr[i] > 10) {
    
    
             newArr.push(arr[i]); //push()方法可以在数组末尾添加元素
         }
     }
     console.log(newArr);
 </script>

案例2:找出数组arr中值为非0的元素,放到一个新数组newArr里(实则就是数组去重)

<script>
    var arr = [12, 0, 8, 0, 90, 22];
    var newArr = []; //新数组
    for (var i = 0; i < arr.length; i++) {
    
    
        if (arr[i] != 0) {
    
     //找到符合条件的元素
            newArr[newArr.length] = arr[i];
        }
    }
    console.log(newArr);
</script>

案例3:数组翻转

<script>
    var arr = [1, 2, 3, 4, 5];
    var newArr = []; //新数组
    for (var i = arr.length - 1; i >= 0; i--) {
    
    
        newArr[newArr.length] = arr[i];
    }
    console.log(newArr);
</script>

案例4:冒泡排序
在这里插入图片描述

<script>
    var arr = [5, 4, 3, 2, 1];
    for (var i = 1; i <= arr.length - 1; i++) {
    
     //外循环:趟数=arr.length - 1
        for (var j = 0; j <= arr.length - i - 1; j++) {
    
     //内循环:比较次数=arr.length - 趟数,因为j从0开始,所以-1
            if (arr[j] > arr[j + 1]) {
    
    //此时结果从小到大顺序排列,如果改为<,则结果从大到小顺序排列
                var temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
    console.log(arr);
</script>

猜你喜欢

转载自blog.csdn.net/pilgrim_121/article/details/112798193