[英]How can I iterate through the “keywords” array of this object to return an array of only keywords?
我可以使用下面的 forEach 方法一次控制台記錄一個關鍵字,但無法弄清楚如何從底部的 JSON 返回所有關鍵字的數組。 我希望為每個關鍵字的值條形圖生成數組。 在 d3.js 可視化中,關鍵字將形成 Y 軸,而值將形成 X 軸。
data.forEach(function(d) {
keywords = d.keywords
console.log(keywords[0][0]);// "white"
});
{
"title": "I'm Dreaming of a White Christmas",
"artist": "Bing Crosby",
"year": "1942",
"sales": "50,000,000",
"keywords": [
[
"white",
6
],
[
"Christmas",
6
],
[
"dreaming",
4
],
[
"christmases",
2
],
[
"merry",
2
],
[
"write",
2
],
[
"snow",
2
],
[
"sleigh",
2
],
[
"listen",
2
],
[
"glisten",
2
]
]
}
我假設您的數據變量是您的 json object。 如果是這樣,並且如果您想獲取所有關鍵字(第一個元素)的數組,您可以使用.map()以這種方式:
var data = { "title": "I'm Dreaming of a White Christmas", "artist": "Bing Crosby", "year": "1942", "sales": "50,000,000", "keywords": [ [ "white", 6 ], [ "Christmas", 6 ], [ "dreaming", 4 ], [ "christmases", 2 ], [ "merry", 2 ], [ "write", 2 ], [ "snow", 2 ], [ "sleigh", 2 ], [ "listen", 2 ], [ "glisten", 2 ] ] }; var keywords = data.keywords.map(function(d) { return d[0]; }); console.log(keywords);
創建一個空數組來存儲結果。 然后,遍歷關鍵字數組,將每個關鍵字的第一個元素推送到結果數組:
let results = [];
data.forEach(function(d) {
d.keywords.forEach( function(keyword) {
results.push( keyword[0] ); // "white"
});
});
console.log( results );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.