嗨我有一个函数,我想返回带有参数附加值的函数参数。所以不要写这个:
function(response) {
return response.links_1;
}
function(response) {
return response.links_2;
}
function(response) {
return response.links_3;
}
我想创建一个迭代的for循环并添加数字,如下所示:
function(response) {
var counter = 3;
for(var i = 0; i < counter; i++) {
return response.links_ +i;
}
}
重要的是,response.link_不能是字符串! 然后它会丢失函数参数值。
我尝试这样做:
function(response) {
var i = 1,
resp = 'response.links_',
endResp = resp + i;
return endResp ;
}
}
和console.log(endResp);返回正确的字符串,但就是这样,它是一个字符串..我想要变量的值 response.links_1而不是字符串值response.links_1。
我刚试过以下没有任何运气:(解析:只是一种骨干方法)
parse: function(response) {
var counter = 3;
for(var i = 0; i < counter; i++) {
return response[links_ + i];
}
}
欢迎任何帮助..
答案 0 :(得分:1)
您应该尝试回复[“links_”+ 3]
答案 1 :(得分:1)
要访问JSON
哈希的键,有两种方法
// For the following object
var obj = {
links_1: 'value1',
links_2: 'value1',
links_3: 'value1',
};
// key1 can be accessed like
console.log(obj.links_1);
// Or
console.log(obj['links_1']);
因此,在您的情况下,您可以使用第二种方法
var counter = 3;
for(var i = 0; i < counter; i++) {
return response['links_' + i];
}
此外,您可以通过
获得总计数var counter = Object.keys(response).length;
而且,如果您不需要对counter
变量执行任何其他操作,并且response
对象仅包含链接,则可以使用类似
for (link in response) {
return response[link];
}
答案 2 :(得分:1)
对象取消引用运算符.
不能使用动态生成的属性名称,因此您必须使用数组解除引用运算符[]
:
return response['links_' + i];