JS 逻辑题

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS 逻辑题</title>
</head>
<body>
<script>
//    1.选择排序
     function xzpx(arr,type) {
         for(let i=0;i<arr.length;i++){
             for(let j=i+1;j<arr.length;j++){
                 if(type=='asc'){
                     if(arr[i]<arr[j]){
                         let temp=arr[i];
                         arr[i]=arr[j];
                         arr[j]=temp;
                     }
                 }
                 if(type=='desc'){
                     if(arr[i]>arr[j]){
                         let temp=arr[i];
                         arr[i]=arr[j];
                         arr[j]=temp;
                     }
                 }
             }
         }
         console.log(arr);
     }
     xzpx([1,2,-3,5,7,9,23,45,68,22,1,3,9],'desc');


//    2.封装冒泡排序
   function  fun(arr,type){
       for(let i=0;i<arr.length;i++){
           for(let j=0;j<arr.length-i-1;j++){
               if(type=='asc'){
                   if(arr[j]>arr[j+1]){
                       let temp=arr[j];
                       arr[j]=arr[j+1];
                       arr[j+1]=temp;
                   }
               }
               if(type=='desc'){
                   if(arr[j]<arr[j+1]){
                       let temp=arr[j];
                       arr[j]=arr[j+1];
                       arr[j+1]=temp;
                     }
                 }
             }
         }
         console.log(arr);
     }
       fun([1,2,-3,5,7,9,23,45,68,22,1,3,9],'asc');


//    3.求一个二维数组中长度最长的数组
        function ezc(arr) {
            let max=arr[0];
            for(let i=0;i<arr.length;i++){
                if(arr[i].length>max.length){
                    max=arr[i];
                }
            }
            console.log(max);
        }
        ezc([[1,2,3],[2,8,90,88,87]]);


//      4.求二维数组数字内容的和
       function ewszh(arr) {
           let sum=0;
           for(let i=0;i<arr.length;i++){
               for(let j=0;j<arr[i].length;j++){
                   if(typeof arr[i][j]==='number'){
                       sum=sum+arr[i][j];
                   }
               }
           }
           console.log(sum);
       }
       ewszh([[1,2,3],[2,8,90,88,87,undefined]]);


//      5.求一个二维数组的最大值和最小值
       let arr=[[1,2,3],[2,8,90,88,87]];
       function ewszzd(arr,type) {
           if(type=='最大值'){
               let max=arr[0][0];
               for(let  i=0;i<arr.length;i++){
                   for(let j=0;j<arr[i].length;j++){
                       if(arr[i][j]>max){
                           max=arr[i][j];
                       }
                   }
               }
               console.log(max);
           }
           if(type=='最小值'){
               let min=arr[0][0];
               for(let  i=0;i<arr.length;i++){
                   for(let j=0;j<arr[i].length;j++){
                       if(arr[i][j]<min){
                           min=arr[i][j];
                       }
                   }
               }
               console.log(min);
           }
       }
       ewszzd([[1,2,3],[2,8,90,88,87]],'最小值');


//      6.复制一个二维数组
       function fzewsz(arr) {
           let brr=[];
           for(let i=0;i<arr.length;i++){
               brr[i]=[];
               for(let j=0;j<arr[i].length;j++){
                   brr[i][j]=arr[i][j];
               }
           }
           console.log(brr);
       }
       fzewsz([[1,2,3],[3,4,2,4],[4,5,6,77]]);


//        7.找出数组中大于5的数,组成新的数组
        function szzd5(arr) {
            let brr=[];
            for(let i=0;i<arr.length;i++){
                for(let j=0;j<arr[i].length;j++){
                    if(arr[i][j]>=5){
                        brr[brr.length]=arr[i][j];
                    }
                }
            }
            console.log(brr);
        }
        szzd5([[1,4,6,899],[9,7,9,18]]);


//       8.数字数组中大于5的个数
          function dy5gs(arr) {
              let count=0;
              for(let i=0;i<arr.length;i++){
                  if(arr[i]>5){
                      count++;
                  }
              }
              console.log(count);
          }
          dy5gs([1,55,3,6,8,2,3]);


//      9.输入一个数字或字符,添加在数组最后
        function tjszzf(arr,b) {
            let brr=[];
            for(let i=0;i<arr.length;i++){
                brr[brr.length]=arr[i];
            }
            brr[brr.length]=b;

            console.log(brr);
        }
        tjszzf([1,55,3,6,8,2,3],'hu');


//      10.将一数组中数字内容求和
      function qh(arr) {
          let sum=0;
          for(let i=0;i<arr.length;i++){
              if(typeof arr[i]==='number'){
                  sum+=arr[i];
              }
          }
          console.log(sum);
      }
      qh([1,2,34,56,5,null,undefined]);


//      11.判断数组中是否所有数字都大于0
        let dy0=function (arr) {
            let flag='全大于0';
            for (let i=0;i<arr.length;i++){
                if(arr[i]<0){
                    flag='不全大于0';
                    break;
                }
            }
            console.log(flag);
        }
        dy0([1,2,34,56,5,-9]);


//    12.合并两个数组问题
      function hbsz(arr,brr) {
         for(let i=0;i<arr.length;i++){
           brr[brr.length]=arr[i];
            }
            console.log(brr);
           }
      hbsz([1,2,3,5,7,8,9,7,99],[1,2,3,5,7,8,9,7,99]);


//     13.1 找到数组中某一个下标
        function zxb(arr,a) {
            if(a<0||a>arr.length){
                console.log('输入错误,请从新输入');
            }
            for(let i=0;i<arr.length;i++){
                if(arr[i]===a){
                    console.log(i);
                }
            }
        }
        zxb([1,2,3,5,7,8,9,7,99],7);


//       13.2截取一个数组,截取下标位a到b的范围
      function slice(arr,a,b){
          if(a<0){
              a=0;
          }
          if(b>arr.length-1){
              b=arr.length-1;
          }
          let brr=[];
          for(let i=0;i<arr.length;i++){
              if(i>=a&&i<b){
                  brr[brr.length]=arr[i];
              }
          }
          console.log(brr);
      }
      slice([1,2,3,5,7,8,9,7,99],3,7);


//     14.反转一个数组
    function fzsz(arr) {
        let brr=[];
        for(let i=arr.length-1;i>0;i--){
            brr[brr.length]=arr[i];
        }
        console.log(brr);
    }
    fzsz([1,2,3,5,7,8,9,7,99]);


//    15.移除数组中等于3的元素
    function xc3(arr) {
        let brr=[];
        for(let i=0;i<arr.length;i++){
            if(arr[i]!==3){
                brr[brr.length]=arr[i];
            }
        }
        console.log(brr);
    }
    xc3([1,4,3,33,99,88,77]);


//    16.删除数组中第一个值
     function scd1z(arr) {
         for(let i=1;i<arr.length;i++){
             arr[i-1]=arr[i];
         }
         arr.length=arr.length-1;
         console.log(arr);
     }
     scd1z([1,4,3,33,99,88,77]);


//    17.在数组前添加一个值
    function tjygz(arr,b) {
       for(let i=arr.length-1;i>=0;i--){
           arr[i+1]=arr[i];
       }
       arr[0]=b;
       console.log(arr);
    }
    tjygz([1,4,3,33,99,88,77],9999);


//    18.封装一个n行n列的乘法表
      let nncfb=function (n) {
          for(let x=1;x<=n;x++){
              for(let y=1;y<=x;y++ ){
                  document.write(x+"*"+y+"="+x*y+'&nbsp');
              }
              document.write(' </br>');
          }
      }
      nncfb(19);


//    19.封装一个n*m的表格
      function nmbg(n,m) {
          document.write('<table border="1" cellspacing="0" cellpadding="10" width="50" >');
          for(let i=1;i<=n;i++){
              document.write('<tr bgcolor="#f5f5dc">');
              for(let j=1;j<=m;j++){
                  document.write('<td bgcolor="#7fff00">');
                  document.write('</td>');
              }
              document.write('</tr>');
          }
          document.write('</table>');
      }
      nmbg(7,9);


//    20.输入一个数判断是不质数
        function pdzs(a) {
            let nub=a
            let flag="质数";
            for(let i=2;i<nub;i++){
                if (nub%i==0){
                    flag="不是质数"
                }
            }
            if(nub==1){
                console.log("不是质数也不是合数")
            }else {
                console.log(flag);
            }
        }
        pdzs(7);
</script>
</body>
</html>
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值