0

我第一次在这里发布问题,所以如果我缺少任何需要的信息,请告诉我。更新以包括所需的输出。

我正在研究一个谷歌应用程序脚本(基本上是javascript),并试图从对象数组中提取对象并创建一个新的对象数组。我正在使用 getRowData 的 google 基本函数(这些函数可以在:https ://developers.google.com/apps-script/guides/sheets 找到)来创建我的初始对象数组。这给了我一排类似的数据(如果有人想知道的话,可以使用 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}

我没有得到值的关键,我不明白对象是如何构造得足够好以使其转移的。我查看了一些操作键/值对的示例,但是当我自己尝试时,我得到了一堆未定义的。感谢您提供任何帮助。

4

2 回答 2

0

你想要的可能是这样的:

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,因为从您的示例中并不明显。我只是在猜测其他领域。但这是一般结构,您只需要进行所有正确的对应即可。

于 2013-10-12T20:47:09.367 回答
-1

使用 jquery each 而不是同时获取键和值要容易得多:

var myarray = [];

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

  value.key = key;

  myarray.push(value);
});

console.log(myarray);
于 2013-10-12T20:27:18.190 回答