JS_数组遍历练习

求1-100的和

		var arr = [];
        var sum = 0;
        for(var i=0 ; i<100 ; i++){
            arr[i] = i+1;
            sum += arr[i];
        }
        console.log("sum="+sum);

数组求和及平均值

 		/* 
        求数组[2,6,1,7,4]里面元素的和及平均值
        思路
        (1)声明一个求和的变量sum;
        (2)遍历数组,把里面的每个元素加到sum里面
        (3)用求和变量sum除以数组的长度就可以得到数组的平均值
        */
        var arr = [2,6,1,7,4];
        var sum = 0,avg = 0;
        // 遍历数组。数组名.length可以表示数组长度(即数组元素个数)
        for(var i = 0;i < arr.length;i++){
            sum += arr[i];
        }
        
        avg = sum/arr.length;
        console.log("sum="+sum);
        console.log("平均值:"+avg);

求最大值

		/*  
       求数组[2,6,1,77,52,25,7]中的最大值;
        1)声明一个最大值的变量max
        2)默认的最大值可以取数组中的第一个元素
        3)遍历数组,把里面的每一个元素和max比较
        4)如果元素大于max,就把元素存到max中,
        5)输出max 
        */
       var arr = [2,6,1,77,52,25,7];
       var max =arr[0];
        for(var i=1 ; i<arr.length ;i++){

            if(max < arr[i]){
                max = arr[i];
            }
            
        }
        console.log("最大值:"+max);

数组转字符串

		/* 
        将数组['red','green','blue','pink']转换为字符串,并用|或者其他符号分割
        输出"red|green|blue|pink|"
        */
		//方法1
       var arr = ['red','green','blue','pink'];
       var str="";
       for(var i=0 ; i<arr.length ;i++){
            str += arr[i]+"|";
       }
       console.log(str);
       
        //方法2
       var result = arr.join("|");
       console.log(reslut);

筛选数组

		/* 
        将数组[2,0,6,1,77,0,52,0,25,7]中大于等于10的元素筛选出来,放入新的数组
        思路:
        1.声明一个新的数组用于存放新数据newArr
        2.遍历原来的旧数组,找出大于等于10的元素
        3.依次追加给新的数组
        */
       //方法1
        var arr = [2,0,6,1,77,0,52,0,25,7];
        var newArr = [];
        var j = 0;
        for(var i=0 ; i<arr.length ; i++){
            if(arr[i]>10){
                newArr[j]= arr[i];
                j++;
            }
        }
        console.log(newArr);
      // 方法2 
        var arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
        var newArr = [];
        // 刚开始 newArr.length 就是 0
        for (var i = 0; i < arr.length; i++) {
            if (arr[i] >= 10) {
                // 新数组索引号应该从0开始 依次递增
                newArr[newArr.length] = arr[i];
            }
        }
        console.log(newArr);  
/* 
        将数组[2,0,6,1,77,0,52,0,25,30,15,13,26,7]中大于等于10,小于等于50并且是5的倍数的元素筛选出来,放入新的数组
        */
       var arr = [2,0,6,1,77,0,52,0,25,30,15,13,26,7];
       var newArr =[];
       for(var i=0 ; i<arr.length ; i++){
           if(arr[i]>=10 && arr[i]<=50 && arr[i]%5==0){
                newArr[newArr.length] =arr[i];
                
           }
       }
       console.log(newArr);

数组翻转

  		/* 
        将数组['red','green','blue','pink']的内容反转
              ['pink','blue','green','red']
        1.声明一个新的数组 newarr
        2.根据索引号(arr.length-1)取出旧数组最后一个元素,作为新数组的第一个元素
        3.使用for循环采用递减--的方式
        */
        var arr = ['red','green','blue','pink'];
        var newArr = [];
        for(var i=arr.length-1 ; i>=0 ; i--){
            newArr[newarr.length] = arr[i];
        }
        console.log(newArr);

数组去重

		 /* 
         将数组[1,2,3,2,2,1,3,4,2,5]中重复的数去除
         */
        var arr = [1,2,3,2,1,3,4,2,5];
        
         //获取数组中的每一个元素
        for (var i = 0; i < arr.length; i++) {
            //获取当前元素后的所有元素
            for(var j=i+1;j<arr.length;j++){
                //比较两个元素是否相等
                if(arr[i] == arr[j]){
                    arr.splice(j,1);
                    //当删除j所在的元素后,后序元素会补位,此时需要再一次比较j位置的元素
                    j--;
                }
                
            }
        }
        console.log(arr);

冒泡排序

		/* 
         将数组[4,2,3,5,1]按从大到小的顺序排列
         */
        var arr = [4,2,3,5,1];
        for (var i = 0; i < arr.length-1; i++) {//外层循环数
            for(var j=0;j<arr.length-1-i;j++){//内层循环数
                if(arr[j]<arr[j+1]){//依次比较前一个和后一个数的大小,将最小数放置数组的最后
                    var temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
                
            }
        }
        console.log(arr);
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在JavaScript中,多线程数组可以通过使用Web Workers来实现。Web Workers允许在后台运行脚本,而不会对主线程造成阻塞。以下是一个使用Web Workers进行多线程数组的示例代码: ```javascript // 创建一个新的Web Worker const worker = new Worker('worker.js'); // 向Web Worker发送消息 worker.postMessage(cells); // 接收Web Worker返回的结果 worker.onmessage = function(event) { const ans = event.data; console.log(ans); }; // 在worker.js文件中编写以下代码 self.onmessage = function(event) { const cells = event.data; const ans = []; // 进行数组并判断每个元素是否为偶数 for (let i = 0; i < cells.length; i++) { for (let j = 0; j < cells % 2) === 0) { ans.push(cells[i][j]); } } } // 将结果发送回主线程 self.postMessage(ans); }; ``` 在这个示例中,我们创建了一个新的Web Worker,并将要遍数组传递给它。Web Worker在后台进行数组,并将结果发送回主线程。主线程通过监听`onmessage`事件来接收结果。这样就实现了JavaScript的多线程数组。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Java小技巧:巧用函数方法实现二维数组](https://blog.csdn.net/china_coding/article/details/126516455)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值