【问题标题】:Javascript parameters passingJavascript 参数传递
【发布时间】:2017-04-05 17:24:43
【问题描述】:

这是我得到的代码。看了一圈还是不太明白。

这是我的问题,函数销毁器接受一个参数一个数组,但是当它被调用时,发送了 3 个参数:一个数组和 2 个整数。

如果函数中的两个整数参数没有被传递,如何访问它们? Javascript中是否有允许这样做的东西?

         function destroyer(arr) {
         // Remove all the value;
         return arr;

        }

        destroyer([1, 2, 3, 1, 2, 3], 2, 3);

【问题讨论】:

    标签: javascript function parameter-passing


    【解决方案1】:

    您可以在函数中使用arguments 变量来获取传递参数的列表。

    // ES5
    function destroyer(arr) {
        var pieces = Array.prototype.splice.call(arguments, 1);
        var i = 0;
    
        while (arr[i]) {
            -1 === pieces.indexOf(arr[i]) ? i++ : arr.splice(i, 1);
        }
    
        return arr;
    }
    
    // ES6
    function destroyer2(arr, ...pieces) {
        var i = 0;
    
        while (arr[i]) {
            -1 === pieces.indexOf(arr[i]) ? i++ : arr.splice(i, 1);
        }
    
        return arr;
    }
    
    console.log(JSON.stringify(destroyer([1, 2, 3, 1, 2, 3], 3, 1)));
    console.log(JSON.stringify(destroyer2([1, 2, 3, 1, 2, 3], 2, 3)));

    【讨论】:

    • 谢谢你,真的很感激..让我卡了一段时间
    猜你喜欢
    • 2017-10-20
    • 2015-09-05
    • 1970-01-01
    • 2012-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-28
    相关资源
    最近更新 更多