Javascript 如何在没有第三个括号的情况下获得与数组相同的结果?

Javascript 如何在没有第三个括号的情况下获得与数组相同的结果?,javascript,arrays,Javascript,Arrays,我有一个函数,可以从一个对象中删除元素,如下所示: var remove = function(obj, props) { for(var i = 0; i < props.length; i++) { if(obj.hasOwnProperty(props[i])) { delete obj[props[i]]; }; }; }; remove( obj, "one", "two" ); 因此,要从对象“

我有一个函数,可以从一个对象中删除元素,如下所示:

 var remove = function(obj, props) {
   for(var i = 0; i < props.length; i++) { 
       if(obj.hasOwnProperty(props[i])) { 
           delete obj[props[i]]; 
       }; 
   }; 
 };
 remove( obj, "one", "two" ); 
因此,要从对象“obj”中删除“one”和“two”元素,我必须调用以下代码:

 remove( obj, ["one", "two"]);
我必须使用第三方括号([])来编写元素,但我希望代码的编写方式如下:

 var remove = function(obj, props) {
   for(var i = 0; i < props.length; i++) { 
       if(obj.hasOwnProperty(props[i])) { 
           delete obj[props[i]]; 
       }; 
   }; 
 };
 remove( obj, "one", "two" ); 
没有第三个括号。但我不知道在哪里更新代码以获得上面给出的示例的结果,从而使其支持旧浏览器。你能帮忙吗?提前感谢使用:
var remove=function(obj,…props)

var remove=函数(obj,…props){
console.log(道具);//[“二”,“三”]
对于(变量i=0;i控制台日志(obj)可以在函数参数(…props)中使用ECMA6扩展运算符,也可以在函数参数本身中使用

var remove=功能(obj){
for(var i=1;i控制台信息(obj)有两种方法

  • 使用Javascript参数对象:

    var remove=功能(obj){
    //从索引1开始循环,因为第一个元素将是obj本身
    对于(var i=1;i
    })

  • 使用Javascript扩展运算符语法:

  • var remove=函数(obj,…props){
    对于(var i=0;i
    var remove = function(obj) {
    
    // start loop from index: 1 as first element will be obj itself
    
    for(var i = 1; i < arguments.length; i++) { 
       if(obj.hasOwnProperty(arguments[i])) { 
           delete obj[arguments[i]]; 
       }; 
    }; 
    
        var remove = function(obj, ...props) {
           for(var i = 0; i < props.length; i++) { 
               if(obj.hasOwnProperty(props[i])) { 
                   delete obj[props[i]]; 
               }; 
           }; 
         };