javascript - 如何在 javascript 中创建通用方法来根据输入构建 json 请求?

标签 javascript angularjs

我有根据 3 个输入参数创建 Json 请求的方法:

function jsonRequest(_action, _data1, _data2){
  var jsonData = JSON.stringify({
        data:{
            action: _action
           ,data1: _data1
           ,data2: _data2   
        }
    });
 return jsonData;
}

如果我想输入未知数量的参数,比如 4 个,该怎么办?

那么我的功能应该如何照顾呢?

类似于:

jsonRequest("103","blabla","bobob", ....);

它必须是通用的才能处理任意数量的参数。

在我的示例中,我没有使用 angularjs,但欢迎您。

请帮忙,

谢谢,

最佳答案

函数有一个名为arguments的隐藏的类似数组的变量,它包含调用期间传递到该函数的所有内容。它类似于:

function jsonRequest(){
  var _action = arguments[0];
  var _data1 = arguments[1];
  var _data2 = arguments[2];

  //the rest of the code here

}

您可以循环遍历参数,并将所需的数据附加到对象中。您可以将第一次迭代设置为附加 _action,其余迭代附加 _dataN,其中 N 是索引。

但是参数只包含值,没有名称。我建议您将一个对象传递给您的函数。

function jsonRequest(data){
  return JSON.stringify({data : data});
}

jsonRequest({
  action : ...,
  data1 : ...,
  data2 : ...
});

关于javascript - 如何在 javascript 中创建通用方法来根据输入构建 json 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16494706/

相关文章:

javascript - 适合视频类型的 MongoDB 结构?

html - 如何在 Angular JS 中获取按钮的徽章值

javascript - Angular 1.x 迁移性能问题

javascript - 通过链接或按钮将传单 map 置于标记的中心

javascript - 动态编写 JavaScript 部分

javascript - 选择要显示和隐藏的元素,遍历问题! (jQuery)

AngularJS 动态加载 Controller

angularjs - Angular Material : Can you disable the autocomplete suggestions for an input?

javascript - 为什么在触发 window.location.reload 时清除其余功能代码?

javascript - 如何绑定(bind)向上和向下箭头键以启用在表格行中导航?