javascript - Concat 似乎不适用于 JSON 获取的数组

标签 javascript jquery json concatenation

我在使用 javascript 中的 concat 函数时遇到了一些问题。据我所知,我正在正确使用它,但它没有成功地将 JSON 中的数组“value”连接到数组“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 用法,可能做错了。

最佳答案

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

currentAbilities = currentAbilities.concat(value);

或者如果你想修改currentAbilities数组,只需使用.push.apply...

currentAbilities.push.apply(currentAbilities, value)

此外,请确保您的 raceNameclassName 变量符合您的预期。

关于javascript - Concat 似乎不适用于 JSON 获取的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11595268/

相关文章:

PHP json_encode 带双引号的数据

json - 将列表添加到 Cloudformation 模板的参数文件中

javascript - Safari 扩展中的同步消息传递

javascript - 为什么reduce的回调函数有四个参数?

javascript - 幻灯片中 HTML 页面的 AngularJS 路由?

javascript - 如何将此 JSON 文件中的图像正确附加到正确的 div 中

javascript - #each scripts.polyfills 来自谁?

javascript - 在 Vuejs 中使用带有动态键的 v-for

javascript - 有延迟的循环代码

php - WordPress Jquery Cycle2 插件无法正常工作