Javascript 在数组中添加新键和值

Javascript 在数组中添加新键和值,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有一个数组,它有多个键name和不同的键abteilung: {abteilung: "Research & Development", name: "Susanne Gast"}, {abteilung: "HR", name: "John Doe"}, {abteilung: "HR", name: "Joe Doe"}... 现在我想为每个名称添加一个具有唯一id的键target。我还想添加一个keysource,每个key+值都有一个idabteilung。abteilung

我有一个数组,它有多个键
name
和不同的键
abteilung

{abteilung: "Research & Development", name: "Susanne Gast"}, {abteilung: "HR", name: "John Doe"}, {abteilung: "HR", name: "Joe Doe"}...
现在我想为每个
名称添加一个具有唯一id的键
target
。我还想添加一个key
source
,每个key+值都有一个id
abteilung
abteilung
有重复项

我可以添加键+值
target
。但是如何为
abteilung

let linksArray = links;
let u = 0, let a = 0, ln = linksArray.length;       
for (u;u<ln;u++){   
   linksArray[u].target = u+1;
}
让linksArray=links;
设u=0,设a=0,ln=linksArray.length;

对于(u;u用于分配
,您可以首先为每个唯一的abteilung构建一个具有键的映射。然后映射值可以成为序列号。最后在该映射中为每个对象执行查找,并将检索到的编号分配给
属性:

const links=[{abteilung:“研发”,名称:“苏珊娜·加斯特”},{abteilung:“人力资源”,名称:“约翰·多伊”},{abteilung:“人力资源”,名称:“乔·多伊”}];
constmap=newmap(links.map(o=>[o.abteilung,0]);
from(map.keys(),(abteilung,i)=>map.set(abteilung,i+1));
links.forEach(o=>o.source=map.get(o.abteilung));

console.log(links);
您拥有的只是一个对象数组,看不到JSON。JSON是用于数据交换的文本符号。如果您处理的是JavaScript源代码,而不是字符串,那么您就没有处理JSON。(如果您的第一个代码块中包含的是JSON,那么它将是无效的JSON,因为JSON中的属性名称必须用双引号括起来。)“我可以添加key+value目标。但是如何为
abteilung
添加key+value?”我不明白。已经有一个名为
abteilung
的属性。您不需要添加它,它已经存在。不清楚您希望“源”值是什么。好的,对不起,我需要一个唯一的id(键:target)对于数组中的每个名称。我还需要一个名为source的键,它应该有一个唯一的id。不在目标id的相同范围内,因为我需要在图形中绘制线条的目标、源键