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