我在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
数组,只需将.apply
与currentAbilities
一起使用...currentAbilities.push.apply(currentAbilities, value)
另外,请确保您的
raceName
和className
变量符合您的期望。