javascript - 无法将 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 对象
任何想法 ?谢谢
解决方案
concat不会更改原始数组,而是在合并它们后返回一个新数组。
所以在这一行:
nearbyClasses.concat(randomClass);
concat 新返回的数组没有赋值nearbyClasses
,nearbyClasses
也不会改变。
要解决此问题,只需将其更改为:
nearbyClasses = nearbyClasses.concat(randomClass);
推荐阅读
- javascript - 在 setState 中使用变量 - 反应
- javascript - VueJS 道具 - 我怎样才能避免“类”属性继承?
- vba - 在单元格范围内复制粘贴值
- c++ - 在异步 TCP 服务器的上下文中从 N 头访问数据时的线程安全
- java - 迭代 List<> 中包含的 HashMap<> 以将 map 中包含的数组变量添加为 java 中的值
- java - 如何输入字符串数据?
- javascript - 币安 API Hmac 签名
- apache-kafka - 在日志压缩的情况下,Kafka 回复如何工作?
- java - 如何将此 switch 语句交换为多态方法?
- java - 通过单击另一个 JFrame 窗口中的按钮打开一个新的 JFrame 窗口