[英]Javascript not reading the keys and values of a dictionary in django template
[英]Reading values from dictionary in Javascript
我正在嘗試使用 Javascript 從 ZOTERO 中選定的書目數據集合中讀取標簽。
對於那些不熟悉 ZOTERO 的人:它有一個內置的“運行 JS”面板,可以直接處理在獨立版本中選擇/標記的項目。
這是我用來從選定文件夾讀取數據並訪問標簽的腳本:
var s = new Zotero.Search();
s.libraryID = ZoteroPane.getSelectedLibraryID();
var itemIDs = await s.search();
for (itemID of itemIDs) {
item = Zotero.Items.get(itemID);
return item;
itemTAG = item.getTags();
return itemTAG;
}
當我調用return itemIDs;
在for
循環之前,我得到了 4943 key:value
對,它正確地反映了我的集合中的項目數。
結構如下所示:
[
"0": 21848
"1": 21849
"2": 21850
"3": 21851
"4": 21852
"5": 21853
"6": 21854
"7": 21855
"8": 21856
"9": 21857
"10": 21858
]
我真正想做的是遍歷所有 ID 以獲取每個項目的書目數據並返回標簽。
這就是為什么我首先嘗試了for/in 循環,但這不起作用,據說是因為我沒有正確調用key:value
對(對應於 Python 中的字典?)。
但是,上述for/of循環至少對第一項(項“0”)有效,並返回以下數據:
{
"key": "BDSIJ5P4",
"version": 1085,
"itemType": "book",
"place": "[Augsburg]",
"publisher": "[Gabriel Bodenehr]",
"date": "[circa 1730]",
"title": "Constantinopel",
"numPages": "1 Karte",
"creators": [
{
"firstName": "Gabriel",
"lastName": "Bodenehr",
"creatorType": "author"
}
],
"tags": [
{
"tag": "Europa"
}
],
"collections": [
"DUW2PJDP"
],
"relations": {
"dc:replaces": [
"http://zotero.org/groups/2289797/items/ZB5J5VZK"
]
},
"dateAdded": "2019-02-13T17:27:29Z",
"dateModified": "2020-03-23T13:13:13Z"
}
所以我的兩個問題是:
item.getTags()
[我使用的類似於文檔中的getNotes()
示例] 可能不是有效的 function。 一般而言,這是否特定於 Zotero 或 Javascript?使用map()
在每個數組元素上調用 function 並返回所有結果的數組。
return itemIDs.map(itemID => Zotero.Items.get(itemID).getTags())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.