-1

こんにちは私は関数を持っていて、パラメータに付加価値のある関数パラメータを返したいです。したがって、これを書く代わりに:

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];
}
}

どんな助けでも大歓迎です。

4

3 に答える 3

1

JSONハッシュのキーにアクセスするには、2つの方法があります

// 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']);

したがって、あなたの場合、2番目の方法を使用できます

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];
}
于 2013-02-15T09:19:03.723 に答える
1

オブジェクト逆参照演算子.は動的に生成されたプロパティ名では機能しないため、[]代わりに配列逆参照演算子を使用する必要があります。

return response['links_' + i];
于 2013-02-15T09:22:41.430 に答える
1

response ["links_"+3]を試してみてください

于 2013-02-15T09:07:24.513 に答える