簡體   English   中英

從Java數組中提取對象

[英]Extracting an object from an array in Javascript

我正在使用名為“數據集”的數組處理D3.JS圖表,其中每個條目都是具有鍵和值屬性的對象,例如:

dataset= 
 [
 {"key":"alpha", "value": [ {}, { } ...]},
 {"key":"beta", "value": [ { }, { } ...]},
 {"key":"gamma", "value": [ {}, { } ...]},
 {"key":"delta", "value": [ { }, { } ...]}
 ];

我需要提取這些對象之一來創建一個新數組。 我嘗試了以下方法:

filteredDataset = dataset.filter(function(d){ console.log("d",d); if(d.key === "gamma") return d});

我可以在控制台中看到,我正在訪問數據集中的每個對象,但是生成的filteredDataset結果為空。 我究竟做錯了什么?

為了清楚起見,應通過返回boolean來使用filter

喜歡:

filteredDataset = dataset.filter(function(d){ return d.key === "gamma"})

最后我的代碼

var dataset = [
     {"key":"alpha", "value": [ {}, { }]},
     {"key":"beta", "value": [ { }, { }]},
     {"key":"gamma", "value": [ {}, { }]},
     {"key":"delta", "value": [ { }, { }]}
]; 
filteredDataset = dataset.filter(function(d){ return d.key === "gamma"})

輸出:

[ { key: 'gamma', value: [ {}, {} ] } ]

所以請仔細檢查您的代碼

dataset.filter(function(d){return d.key === 'gamma';});
這將返回key === gamma的數據。

https://github.com/mbostock/d3/wiki/Selections#filter

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM