[英]Get specific data from array and put in other array
我在 javascript 中有這個結果,我想獲得值大於 3 的數據,我想放入其他數組。
"availableDates": {
"2020-01-24": 1,
"2020-01-23": 3,
"2020-01-22": 2,
"2020-01-21": 1,
"2020-01-25": 4,
"2021-01-07": 1
}
我在這里分組:
const formattedDate = x.reduce((acc,el) => {
const date = el.split(" ")[0];
acc[date] = (acc[date] || 0) + 1;
return acc;
}, {});
現在我想把值大於 3 的所有日期放入其他數組中。 例如
newarray = [ "2020-01-23", "2020-01-25" ]
為什么不在"availableDates"
鍵上使用簡單的.filter()
:
const grouped = { "availableDates": { "2020-01-24": 1, "2020-01-23": 3, "2020-01-22": 2, "2020-01-21": 1, "2020-01-25": 4, "2021-01-07": 1 } }; const newArray = Object.keys(grouped.availableDates).filter((key) => grouped.availableDates[key] >= 3); console.log(newArray);
您可以簡單地使用for...in
循環來迭代對象鍵並過濾它們:
const data = { "2020-01-24": 1, "2020-01-23": 3, "2020-01-22": 2, "2020-01-21": 1, "2020-01-25": 4, "2021-01-07": 1 }; const reducer = (obj, val) => { const result = []; for(key in obj) { if(obj[key] >= val) result.push(key); }; return result; }; console.log(reducer(data, 3));
你可以有這樣的事情。 我寫了一堆完整的代碼,使您能夠復制/過去進行測試
var availableDates = new Array()
var availableDates = {
"2020-01-24": 1,
"2020-01-23": 3,
"2020-01-22": 2,
"2020-01-21": 1,
"2020-01-25": 4,
"2021-01-07": 1
}
var results = new Array();
for (date in availableDates){
if (availableDates[date] >= 3){
results.push(date)
}
}
console.log(results)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.