javascript - 如何使用循环创建多个对象属性
问题描述
我正在学习 JavaScrit/node.JS 并编写了下面的代码,该代码检查玩家在加入服务器并生成所有车辆后在数据库中存储了多少车辆。问题是它现在只适用于一辆车(personalVehicles 被覆盖,我相信)
mp.events.add("playerReady", (player) => {
pool.getConnection((err, con) => {
if (err) console.log(err)
console.log()
con.query("SELECT vehicleID, vehicleModel, vehicleSpawnX, vehicleSpawnY, vehicleSpawnZ FROM vehicles WHERE vehicleType = ? AND vehicleOwner = ?", ["players", player.playerID], function (err, result) {
if (err) console.log(err)
for (i = 0; i < result.length; i++) {
vehicleModel = result[i].vehicleModel
player.personalVehicles = mp.vehicles.new(parseInt(vehicleModel), new mp.Vector3(result[i].vehicleSpawnX, result[i].vehicleSpawnY, result[i].vehicleSpawnZ))
}
});
con.release()
});
});
我试过player.personalVehicles
用player.personalVehicles.vehicle[i]
,player.personalVehicles.vehicle
和切换player.personalVehicles.[i]
,但没有一个起作用。
我假装自动做这样的事情:
player = {
personalVehicles = {
vehicle1 = xxxxxxx
vehicle2 = xxxxxxx
vehicle3 = xxxxxxx
and so on
}
}
我知道它只适用于一辆车,因为当我试图摧毁玩家的车辆时,一旦他离开,只有一辆车被摧毁(数据库中的最后一辆)。
谢谢。
解决方案
const obj = {};
你不能这样做,obj['hits']['hits'] ='whyDosntWork';
因为obj['hist']
不存在。
你需要做:
obj['hits'] = {}
接着 obj['hits']['hits'] ='whyDosntWork';
其余的也一样...
我不明白你想在这里做什么:
obj['hits']['hits'][i]['_source.ActiveChannelReleases'][0]['ImageExports'][0]['Resolutions'][0]['Url']
但是按照我之前说的,你需要为每一步创造你想要的价值。我可以假设你想要一个'hits'中的数组
推荐阅读
- android - TileService 在 Android 9 中每 5 秒被杀死一次
- bash - 如何对 MM/DD/YYYY 格式的日期进行数学运算?
- c# - OleDbDataReader cmd.ExecuteReader() “枚举没有结果”
- python - 我尝试使用 python 从 google colab 中抓取错误代码。但它没有奏效
- php - 从多个页面收集 $_POST 数据
- javascript - Web-socket 适用于约 8KB 的小文件。但是对于 ~50KB 文件,我的连接断开
- java - 如何修复“sqlite-3.7.2-sqlitejdbc.dll:无法在 AMD 64 位平台上加载 IA 32 位 .dll”
- javascript - 是否有另一种方法来检索 javascript 中的 html 元素
- java - gradle 5中的sourcesJar任务
- excel - 在excel vba中的行上循环