簡體   English   中英

從數組中獲取特定數據並放入其他數組

[英]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.

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