【发布时间】:2018-08-04 07:10:30
【问题描述】:
我有一个对象数组:
chachters = [{name: "Frodo", race: "hobitt", age: 111},
{name: "Gandalf", race: "human", age: 2019}],
{name: "Aragorn", race: "elf", age: 40}];
还有一个字符串数组。
swords = ["Sting","Glamdring","Anduril"];
我想为“角色”中的对象添加一个键值对,以便将正确的剑分配给正确的角色。需要将 Swords[0] 中的索引匹配到 charachrers[0] 中的值:
这是我希望角色的样子:
chachters =[{name:"Frodo", race:"hobitt", age:111,sword:"Sting"},
{name:"Gandalf",race:"human",age:2019,sword:"Glamdring"}],
{name:"Aragorn",race:"elf",age:40,sword:"Anduril"}];
请帮忙。中土的既定事实取决于它。
【问题讨论】:
-
很多人已经回答了如何按照您的要求做,所以我不会做同样的事情。但是,与其将剑复制到角色对象中,将其保留为剑对象的单独集合并让剑的当前持有者仅存储剑的索引引用是否有益?剑会改变主人吗?您的方法看起来像是一次性的数据整理,而不是存储 2 个实际具有一对一关系的单独列表的理想方法。
-
我同意@Raith。如果您按照自己的方式进行操作,那么假设您
chachters数组包含 100 个对象,swords也将有 100 个字符串,WITH DUPLICATES (因为从逻辑上讲,你不会拥有 100 种不同类型的剑)。比如:["Sting", Glamdring", "Anduril", "Sting", "Anduril", ... ]
标签: javascript arrays reactjs javascript-objects