我有从 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;
}
其中 arg1
和 arg2
可以是标题、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/