4-28,5道简单JS笔试算法题

263 阅读1分钟

本文已参与[新人创作礼]活动,一起开启掘金创作之路

1.判断数字与字母字符

image.png

代码

image.png

2.大小写转换

image.png

代码

image.png

3.寻找最大值

image.png

代码

image.png

4.合并去重降序存放复杂数据类型数组

image.png

代码

    let nums1 = [
      {value  :2},
      {value  :8},
      {value  :5},
      {value  :10},
      {value  :-1},
      {value  :9},
    ]
    m= 1,
    nums2 = [{value:2},{value:5},{value:6},{value:30}]
    n = 15
    function concatArr (arr,m,arr2,m){
      // 根据条件合并数组
     let num = nums1.filter(item => item.value > 1).concat(nums2.filter(item => item.value > 1 && item.value< 15))
    //  console.log(num);
    // 循环
     for(let i = 0;i<num.length-1;i++) {
       for (let j =i+1;j<num.length;j++) {
         if(num[i].value === num[j].value) {
           num.splice(j,1)
           j--
         }
       }
     }
    //  排序
     num1 = num.sort(function(a,b){return b.value-a.value})
     console.log(num1);
  }
   concatArr (nums1,m,nums2,n)

5.拆分翻转定时输出字符串

image.png

image.png

  function fn(e,delay){
        let arr = e.split(' ')
        //console.log(arr,1);
      arr=arr.map(ee => {
          ee=ee.split('')
          if(ee.length>delay){
            ee.reverse()
          }
          return ee
        });
        //console.log(arr,2);
       arr=arr.map(eee => {
          return  eee.join('')
        });
        let arr1=arr
        arr=arr.join(' ')
        //console.log(arr,3);
        let num=0
        let timeout=setInterval(()=>{
           //console.log(arr1[num]);
           num++
           if(num==arr1.length){
            //  console.log('1');
              clearInterval(timeout)
           } 
        },5000)
    }
    fn('HELLO IS ANOTHER WORLD',5)

image.png