• JavaScript 常见面试题


    此文内容多为 JavaScript 对数组理解及运用。

      1、如何消除一个数组里面重复的元素?

        var arr = [1, 2, 3, 3, 4, 4, 5, 5, 6, 1];
        var newArr =[];
        for(var i =0; i<arr.length; i++){
            if(newArr.indexOf(arr[i])<0){
                newArr.push(arr[i]);
            }
        }
        console.log(newArr);

      2、es6 利用 set 数组去重方法

        changeReArr=(arr)=>{
          // 利用set将数组转化成set数据,利用Array from 将set数据转化成数组
          return Array.from(new Set(arr));
        }
        console.log(changeReArr([3,3,45,6,7,8,9,5,4]));

      3、es6 set 第二种方法

        changeReArr2=(arr)=>{
          // 利用...扩展运算付将set中的值遍历出来重新定义一个数组
          // ... 是利用for...of 遍历的
          return [...new Set(arr)]
        }
        console.log(changeReArr2([3,3,45,6,7,8,9,5,4]));

      4、实现数组的随机排序

        // 方法一
        var arr = [1,2,3,4,5,6,7,8,9,10];
        function randSort1(arr){
             for(var i = 0,len = arr.length;i < len; i++ ){
                  var rand = parseInt(Math.random()*len); 
                  var temp = arr[rand]; 
                  arr[rand] = arr[i]; 
                  arr[i] = temp; 
                } 
                return arr; 
            }
        console.log(randSort1(arr));
    
        // 方法二
        var arr = [1,2,3,4,5,6,7,8,9,10];
        function randSort2(arr){
            var mixedArray = [];
            while(arr.length > 0){
                var randomIndex = parseInt(Math.random()*arr.length);
                mixedArray.push(arr[randomIndex]);
                arr.splice(randomIndex, 1);
            }
            return mixedArray;
        }
        console.log(randSort2(arr));
    
        // 方法三
        var arr = [1,2,3,4,5,6,7,8,9,10];
        arr.sort(function(){
            return Math.random() - 0.5;
        })
        console.log(arr);

      5、生成十个10到100的随机数 并添加到数组里 并排序

        var iArray = [];
        function getRandom(istart,iend)
        {
            var ichoice = iend - istart;
            return Math.floor(Math.random() * ichoice + istart);
        }
    
        for(var i =0; i<10; i++){
            var nums = getRandom(10,100);
            if(iArray.indexOf(nums) < 0){
                iArray.push(nums);
            }else{
                iArray.push(getRandom(10,100));
            }
        }
        iArray.sort();
        console.log(iArray);

      6、把两个数组合并,并删除第二个元素。

        var arr1 = ['a','b','q'];
        var arr2 = ['w','e','r'];
        var meshArr = arr1.concat(arr2);
        meshArr.splice(1,1);
        console.log(meshArr);

      7、提取URL中的各个GET参数

        var urlStr = "http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e";
        function serilizeUrl(url)
        {
            var result = {};
            url = url.split("?")[1];
            var map = url.split("&");
            for(var i = 0; i<map.length; i++){
                result[map[i].split("=")[0]] = map[i].split("=")[1];
            }
            return result;
        }
        console.log(serilizeUrl(urlStr));

      8、输出今天的日期,以YYYY-MM-DD的方式,比如今天是2014年9月26日,则输出2014-09-26

        var date = new Date();
        var dateYear = date.getFullYear();
        var dateMonth = date.getMonth() + 1;
    
        dateMonth = dateMonth < 10 ? '0'+dateMonth : dateMonth;
    
        var dateDays = date.getDate();
    
        dateDays = dateDays < 10 ? '0'+dateDays : dateDays;
    
        console.log(dateYear + '-' + dateMonth + '-' + dateDays);
  • 相关阅读:
    SAP:建表时如果有QUAN、CURR类型的字段不能激活的问题
    ABAP:ALV的 Header中添加HTML内容
    iframe中cookie失效问题
    让flash自动显示代码提示的两种方式
    event.srcElement说明,方法,技巧
    ABAP:FI常用BAPI
    加入收藏夹功能(jQuery)
    ABAP笔记:BDC完整版例子
    BDC处理时用到结构BDCDATA
    ABAP 自动生成EXCEL文件并作简单格式处理
  • 原文地址:https://www.cnblogs.com/wyhlightstar/p/8576959.html
Copyright © 2020-2023  润新知