美文网首页
JS代码题1

JS代码题1

作者: twentyshaw | 来源:发表于2019-11-10 14:06 被阅读0次

    接收两个参数m和n。返回一个数组,该数组长度为m,值为n。(不能使用循环)

    1. 递归法

    function output(m,n){
        let result = []
        if (m === 0) {
            return result
        }else{
            result.unshift(n)
            return output(--m,n).concat(result)
        }
    }
    
    • 使用数组方法 unshift()来添加数组成员
    • 使用数组方法 concat()来本轮结果与递归产生的数组

    2. Array.from()

    function output(m,n){
        return Array.from({length:m},v=>n)
    }
    

    ES6的Array.from()方法,它可将两类对象转化为数组:

    • 类似数组的对象:最本质的特征就是该对象要拥有length属性
    • 可遍历的对象
      Array.from()可以接受两个参数:
    • 第一个参数是想要转成数组的对象
    • 第二个参数是一个map方法。
      与数组的map方法一致,第一个参数是数组成员→item,第二个参数(可省略)是数组的索引index,第三个参数(可省略)是数组本身

    基于第一个参数生成一个数组后,如果存在第二个参数,就对该数组进行map操作,并将map操作后的数组作为结果返回。

    相关文章

      网友评论

          本文标题:JS代码题1

          本文链接:https://www.haomeiwen.com/subject/jrcabctx.html