簡體   English   中英

如何使用 substring 搜索鍵值對來過濾 javascript 數組

[英]How to filter javascript array using substring search for key and value pair

在下面的數組中,我想過濾掉與鍵 StartTime 的 substring“11/2022”相匹配的記錄

[
  {
    StartTime: '17/10/2022 14:45',
    Duration: '000:00:44:32',
  },
  {
    StartTime: '17/11/2022 14:45',
    Duration: '000:00:44:30',
 
  },
  {
    StartTime: '18/11/2022 14:45',
    Duration: '000:00:44:30',
 
  },  
   {
    StartTime: '17/12/2022 14:45',
    Duration: '000:00:44:30',
 
  }
]

預計 output:

[
   {
    StartTime: '17/11/2022 14:45',
    Duration: '000:00:44:30',
 
  },
   {
    StartTime: '18/11/2022 14:45',
    Duration: '000:00:44:30',
 
  }
   
]

你可以像這樣使用包含 function

[
    { StartTime: "17/10/2022 14:45", Duration: "000:00:44:32" },
    { StartTime: "17/11/2022 14:45", Duration: "000:00:44:30" },
    { StartTime: "18/11/2022 14:45", Duration: "000:00:44:30" },
    { StartTime: "17/12/2022 14:45", Duration: "000:00:44:30" },
  ].filter((item) => item.StartTime.includes("11/2022"));

您可以使用 filter() 循環遍歷對象數組,並且對於每個 object 項目,檢查 StartTime 是否包含()任何搜索關鍵字 substring。

 const array = [{ StartTime: '17/10/2022 14:45', Duration: '000:00:44:32', }, { StartTime: '17/11/2022 14:45', Duration: '000:00:44:30', }, { StartTime: '18/11/2022 14:45', Duration: '000:00:44:30', }, { StartTime: '17/12/2022 14:45', Duration: '000:00:44:30', } ]; const searchKey = '11/2022'; const filteredArray = array.filter(item => item.StartTime.includes(searchKey)); console.log(filteredArray);

希望能幫助到你!

只需使用Array.filter()就可以做到

 let data = [ { StartTime: '17/10/2022 14:45', Duration: '000:00:44:32', }, { StartTime: '17/11/2022 14:45', Duration: '000:00:44:30', }, { StartTime: '18/11/2022 14:45', Duration: '000:00:44:30', }, { StartTime: '17/12/2022 14:45', Duration: '000:00:44:30', } ] let result = data.filter(d => d.StartTime.includes('/11/2022')) console.log(result)

您可以使用 filter() 和正則表達式來檢查字符串中是否包含 substring,正則 exp 也提供了很多有用的選項,因此它們將來可能會對您有所幫助

const arr = [
    { StartTime: '17/10/2022 14:45', Duration: '000:00:44:32', }, 
    { StartTime: '17/11/2022 14:45', Duration: '000:00:44:30', }, 
    { StartTime: '18/11/2022 14:45', Duration: '000:00:44:30', },
    { StartTime: '17/12/2022 14:45', Duration: '000:00:44:30',}
]

const newArr = arr.filter(elem => elem.StartTime.match("11/2022"))

您可以使用.filter().includes()

 const input = [ { StartTime: '17/10/2022 14:45', Duration: '000:00:44:32', }, { StartTime: '17/11/2022 14:45', Duration: '000:00:44:30', }, { StartTime: '18/11/2022 14:45', Duration: '000:00:44:30', }, { StartTime: '17/12/2022 14:45', Duration: '000:00:44:30', } ]; const result = input.filter(element => { return element.StartTime.includes("11/2022"); }); console.log(result);

暫無
暫無

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

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