[英]Filter an object with key and value pair with an array using 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.