gpt4 book ai didi

javascript - 在 JavaScript 中动态地将一个对象添加到另一个对象

转载 作者:行者123 更新时间:2023-11-28 07:36:03 25 4
gpt4 key购买 nike

我有一个对象,当用户选择某个值时,需要向其中添加另一个对象。该对象是一个保存基本信息的玩家对象,我还有一个保存有关武器信息的武器对象。当用户选择要使用的武器时,我想将武器对象添加到玩家对象中,如果用户选择不同的武器,我想删除以前的武器对象并添加新的武器对象。这可能吗?这就像将值插入数组吗?

HTML

<select>
<option></option>
<option>Sword</option>
<option>Axe</option>
<option>Hammer</option>
</select>

JS

var Player = {
name: "One",
weapon:
}

var Sword = {
type: "Bronze",
speed: 1.25,
min_damage: 15,
max_damage: 20,
str_required: 15,
gems: "",
hilt: "",
blade: "",
inscriptions: "",
runes: ""
}

var Axe = {
type: "Bronze",
speed: 1.5,
min_damage: 25,
max_damage: 28,
str_required: 25,
gems: "",
hilt: "",
blade: "",
inscriptions: "",
runes: ""
}

var Hammer = {
type: "Bronze",
speed: 2.5,
min_damage: 45,
max_damage: 60,
str_required: 55,
gems: "",
hilt: "",
blade: "",
inscriptions: "",
runes: ""
}

$("select").on("change", function(){
var selected_weapon = $(this).val();

if(selected_weapon == "Sword"){
Player.weapon = Sword;
$("#content").append(Player);
}
else if(selected_weapon == "Axe"){
Player.weapon = Axe;
$("#content").append(Player);
}
else if(selected_weapon == "Hammer"){
Player.weapon = Hammer;
$("#content").append(Player);
}
});

最佳答案

在 JS 中将现有对象相互添加非常容易。

就您而言,Player.weapon = Sword;

这会给你

Player = {
name: "One",
weapon: {
type: "Bronze",
speed: 1.25,
min_damage: 15,
max_damage: 20,
str_required: 15,
gems: "",
hilt: "",
blade: "",
inscriptions: "",
runes: ""
}
}

我建议为每个武器对象添加一个name键。现在,当您查看我上面发布的 Player 对象时,您不知道它拥有哪种武器。因此,只需添加 name: 'Sword' 即可让您稍后根据需要引用它。

关于javascript - 在 JavaScript 中动态地将一个对象添加到另一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28565990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com