• 有意思的面试小试题


    多维数组转一维数组的几种方法

    一:reduce
    var arr1 = [1, 2, [3, 4], 56];
        var res1 = arr1.reduce((total, item) => {
            return total.concat(item)
        }, [])
    console.log(res1, 'res1')//[1, 2, 3, 4, 56] "res1"
    

    注意:reduce定义和用法

    reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

    reduce() 可以作为一个高阶函数,用于函数的 compose。

    注意: reduce() 对于空数组是不会执行回调函数的。

    语法:array.reduce(function(total, currentValue, currentIndex, arr), initialValue)

    可以用于数组求和

    [1, 2, 3, 4].reduce((total, item) => {
    return total + item
    })
    返回元素相加的结果:10
     
    二:递归
    var arr2=[1,2,3,[4,5,[9]],[1,2],8]
    var res= [];
        function fun(arr2) {
    
            for (var i = 0; i < arr2.length; i++) {
                if (arr2[i] instanceof Array) {//Array.isArray()或者typeof()=="object";
                    fun(arr2[i]);
                } else {
                    res.push(arr2[i])
                }
            }
            return res
        }
        console.log(fun(arr2))//[1, 2, 3, 4, 5, 9, 1, 2, 8]

    三:toString()和split()

    let result=arr3.toString().split(",")//
    或者 arr3.join(',').split(',');//

    这里数组的元素都是字符串类型,所以需要转成Number;

    result.map(function(x){ return Number(x); }

     节流或防抖函数

    参见:https://www.cnblogs.com/walls/p/6399837.html(挺详细的)

    函数作用域的计算题

    function func(n, k) {
            document.write(n + ',' + k + "<br/>");
            return {
                func: function(m) {
                    return func(m, n)
                }
            }
        }
    // var a = func(10);
        // a.func(20);
        // a.func(30);
        // a.func(40) //underfined;10,10,10
    
        //var b = func(50).func(60).func(70).func(80) //underfined,50,60,70
    
        var c = func(100).func(200); //underfined,100,200,200
        c.func(300);
        c.func(400)
  • 相关阅读:
    sharepoint_study_10
    sharepoint_study_9
    sharepoint_study_8
    需要经常读的文章(长期更新)
    sharepoint_study_7
    sharepoint_study_目录学习笔记(长期更新)
    windows_study_2
    sharepoint_study_6
    sharepoint_study_5
    sharepoint_study_4
  • 原文地址:https://www.cnblogs.com/liliy-w/p/10389607.html
Copyright © 2020-2023  润新知