Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建将接受多个参数的函数_Javascript_Function - Fatal编程技术网

Javascript 创建将接受多个参数的函数

Javascript 创建将接受多个参数的函数,javascript,function,Javascript,Function,我试图修改我的函数以接受不同数量的参数,例如参数可以是(poly1,poly2)或(poly1,poly2,poly3)等等 我的问题是我不确定如何增加变量名 如何将下面的函数转换为一个函数,该函数将接受许多不同的参数并循环使用它们。如果可能的话,我宁愿使用函数式方法来实现这一点,而不是使用for循环 function UseWicketToGoFromGooglePolysToWKT(poly1, poly2, poly3, poly4) { var wicket = new Wkt.

我试图修改我的函数以接受不同数量的参数,例如参数可以是(poly1,poly2)或(poly1,poly2,poly3)等等

我的问题是我不确定如何增加变量名

如何将下面的函数转换为一个函数,该函数将接受许多不同的参数并循环使用它们。如果可能的话,我宁愿使用函数式方法来实现这一点,而不是使用for循环

function UseWicketToGoFromGooglePolysToWKT(poly1, poly2, poly3, poly4) {
    var wicket = new Wkt.Wkt();

    wicket.fromObject(poly1);
    var wkt1 = wicket.write();

    wicket.fromObject(poly2);
    var wkt2 = wicket.write();

    wicket.fromObject(poly3);
    var wkt3 = wicket.write();

    wicket.fromObject(poly4);
    var wkt4 = wicket.write();

   return [wkt1, wkt2, wkt3, wkt4];
}
我的尝试

function UseWicketToGoFromGooglePolysToWKT(...args) {
  args.map(item, i => {
    wicket.fromObject(`poly${i}`);
    var wkt + i = wicket.write();
  })
你很接近。
您只需要从
.write()
返回结果,然后从
.map()
返回数组 您还缺少
新的Wkt.Wkt()呼叫:

function UseWicketToGoFromGooglePolysToWKT(...args) {
  var wicket = new Wkt.Wkt(); // this was missing

  return args.map(item => {   // return this. Also, the `i` isn't necessary.
    wicket.fromObject(item);  // pass `item` here.
    return wicket.write();    // return instead of variable assignment
  });
}

汤姆,这两个答案都回答了你的问题吗?是的,你的实现就是我想要的