首页 > 解决方案 > 无法将 JSON 连接到 JSON 数组

问题描述

我正在尝试通过随机选择 JSON 对象来创建 JSON 数组,但 JSON 数组为空。

我检查了我的随机函数是否有效,它获取了一个 JSON,就是这种情况


static getNearbyClasses(nb_class) {
        var jsonClasses = JSON.parse(JSON.stringify(ClassDetailsData.Classes));
        var nearbyClasses = []
        for(let k=0; k < nb_class; k++){
            var randomnb = Utils.getRandomInt(jsonClasses.length-1)
            var randomClass = jsonClasses[randomnb]
            console.log("-----" + randomnb + "---------")
            console.log(randomClass)
            nearbyClasses.concat(randomClass)
        }
        console.log(nearbyClasses)
        return nearbyClasses
    }

nearbyClasses仍然为空。randomClass总是有一个 JSON 对象

任何想法 ?谢谢

标签: javascriptjsonreactjs

解决方案


concat不会更改原始数组,而是在合并它们后返回一个新数组。

所以在这一行:

nearbyClasses.concat(randomClass);

concat 新返回的数组没有赋值nearbyClassesnearbyClasses也不会改变。

要解决此问题,只需将其更改为:

nearbyClasses = nearbyClasses.concat(randomClass);

推荐阅读