1

javascript の concat 関数に問題があります。私が知る限り、私はそれを正しく使用していますが、配列「値」を JSON から配列「currentAbilities」に正常に連結していません。

$.each(ABILITIES, function(key,value) {
        if(key==raceName||(key==className&&(!isAcolyte)))
        {
            document.getElementById('abs').innerHTML = value[1];
            currentAbilities.concat(value);
        }
    })

innerHTML 設定行は、配列「値」が存在することを示しています。なぜ私が連結に失敗しているのか分かりますか? もちろん、値は JSON から得られますが、それと何か関係があるのでしょうか? $.each と JSON の使用法に慣れたのはつい最近のことで、間違っている可能性があります。

4

1 に答える 1

3

JSON が解析されたと仮定すると、メソッドは元の配列を変更しないconcat()ため、作成された新しい配列への参照を保持する必要があります....concat()

currentAbilities = currentAbilities.concat(value);

または、配列を変更する場合は.pushwith を使用します....applycurrentAbilities

currentAbilities.push.apply(currentAbilities, value)

また、変数raceNameclassName変数が期待どおりであることを確認してください。

于 2012-07-21T19:54:34.303 に答える