我在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设置行显示数组“value”确实存在。知道为什么我不能连接吗?当然价值来自JSON,它可能与它有什么关系吗?我担心我最近才熟悉$ .each和JSON的用法,可能做错了。
答案 0 :(得分:3)
假设已经解析了JSON,您需要保留对concat()
创建的新数组的引用,因为.concat()
方法不会修改原始数据...
currentAbilities = currentAbilities.concat(value);
如果您想要修改.push
数组,只需将.apply
与currentAbilities
一起使用......
currentAbilities.push.apply(currentAbilities, value)
另外,请确保您的raceName
和className
变量符合预期。