![](/img/trans.png)
[英]Is there a way to change a variable’s value given its name in a function?
[英]javascript change function parameter variable name and return its value
嗨,我有一个函数,我想返回带有附加值的函数参数。 所以不用写这个:
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];
}
}
欢迎任何帮助。
您应该尝试response [“ links_” + 3]
要访问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];
}
对象解除引用运算符.
不适用于动态生成的属性名称,因此必须使用数组取消引用运算符[]
:
return response['links_' + i];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.