从对象的现有阵列创建的JavaScript对象的数组(Create an array of Java

2019-10-30 00:45发布

我第一次在这里张贴问题,所以请让我知道如果我错过了所需要的任何信息。 更新以包括期望的输出。

我工作的一个谷歌的应用程序脚本(JavaScript的基本),我试图从对象的数组拉对象和创建对象的新数组。 我使用getRowData谷歌的基函数(这些可以被发现在: https://developers.google.com/apps-script/guides/sheets )来创建我的对象的初始阵列。 这给了我类似的数据行(A JIRA出口,如果你想知道,随着信息切):

{summary=Internal - Fix PuppetFile Jenkins Jobs, progress=1.0, issueType=Story, resolution=Done, timeSpent=3600.0, key=XXXXX-646, watchers=0.0, remainingEstimate=0.0, numberOfComments=1.0, status=Resolved, assignee=XXXXXXXX}

当我运行我的功能:

for (var i = 0; i < issueList.length; i++){

rankList[i] = [issueList[i].summary,issueList[i].storyPoints,issueList[i].epicLink,issueList[i].fixVersions];
}

我得到:

[Internal - Fix PuppetFile Jenkins Jobs, 3.0, null, null]

但我要的是:

{summary=Internal - Fix PuppetFile Jenkins Jobs, storyPoints=1.0, epicLink=StoryName, fixVersions=Done}

我没有收到该值的键,我不知道如何构造的对象都相当不错,足以让它转移过来。 我看了一下操作键/值对的例子,但是,当我试图对我自己我只是有一堆的不确定。 感谢您提供任何帮助。

Answer 1:

你想要什么可能是这样的:

rankList = [];
for (var i = 0; i < issueList.length; i++) {
    issue = issueList[i];
    rankList.push({
        summary: issue.summary,
        storyPoints: issue.progress,
        epicLink: issue.IDONTKNOW,
        fixVersions: issue.resolution
    });
}

我不知道在什么去现场epicLink ,因为它不是从你的例子很明显。 而我只是猜测的其他领域。 但是,这是一般的结构,你只需要做所有正确的对应关系。



Answer 2:

使用jQuery每个相反,它更容易获得,同时键和值:

var myarray = [];

$.each(issueList,function(key,value){
  console.log(key);
  console.log(value);

  value.key = key;

  myarray.push(value);
});

console.log(myarray);


文章来源: Create an array of JavaScript objects from an existing array of objects