我在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用法,可能做错了。

最佳答案

假设已解析JSON,则需要保留对concat()创建的新Array的引用,因为.concat()方法不会修改原始数组...

currentAbilities = currentAbilities.concat(value);




或者,如果要修改.push数组,只需将.applycurrentAbilities一起使用...

currentAbilities.push.apply(currentAbilities, value)




另外,请确保您的raceNameclassName变量符合您的期望。

08-19 14:50