javascript - 在 Javascript 中使用用户指定的参数作为键

标签 javascript json

我有从 API 返回的 JSON 数据。其中有一个结果数组,其中包含 5 到 9 个键的结果对象/哈希 - id、url、标题、类型等。

如果我想删除不必要的内容并返回仅包含标题和网址的结果数组,我可以这样做:

function getTitleAndUrl(yourDataObject){ 
var results = yourDataObject.results;
var len = results.length;
var out = [];

for(var i = 0; i < len; i++ ) {
    out.push({
        title: results[i].title,
        url: results[i].url
    });
}
  return out;
};

我只得到了标题和网址的所有结果。

如何才能使传递到函数中的某些参数相当于“title”和“url”? 想法是这样的:

function getSpecificData(yourData, arg1, arg2){
  var results = yourData.results;
  var len = results.length;
  var out = [];

    for( var i = 0; i < len; i++ ){
    out.push({
        arg1: results[i].arg1,
        arg2: results[i].arg2
    });
}
  return out;
}

其中 arg1arg2 可以是标题、URL(如前面的示例)或 id、描述等。

非常感谢任何帮助。

最佳答案

将 arg1 和 arg2 作为字符串传递,那么这应该可以工作:

function getSpecificData(yourData, arg1, arg2){
  var results = yourData.results;
  var len = results.length;
  var out = [];

  for( var i = 0; i < len; i++ ){
    var data = {};
    data[arg1] = results[i][arg1];
    data[arg2] = results[i][arg2];
    out.push(data);
  }
  return out;
}

工作示例 - http://jsfiddle.net/LasCB/1/

关于javascript - 在 Javascript 中使用用户指定的参数作为键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18509186/

相关文章:

javascript - 从 POP UP 窗口中删除默认边框

javascript - Ajax 函数未调用

android - 如何缓存已解析的 JSON 以供离线使用

arrays - 在 Swift 中将 NSArray 转换为 Array 会对数组值产生 nil

javascript - Bootstrap 选项卡上的 MVC 单击重新加载 Controller 并刷新

javascript - SlideToggle() 无法正常工作

json - Spring MVC :could not initialize proxy - no Session (through reference chain)

json - 解析一些 JSON 数据的问题 - Swift 5

Javascript JSON 到 Excel 文件下载

javascript - 正则表达式:检查数字的变化