我是 javascript 初學者。
我有一些看起來像這樣的物件陣列:
[
{
id: 1,
checkInStatus: 'pending',
overtimeStatus: 'pending',
checkOutStatus: 'success'
},
{
id: 2,
checkInStatus: 'success',
overtimeStatus: 'pending',
checkOutStatus: 'success'
},
{
id: 3,
checkInStatus: 'pending',
overtimeStatus: 'success',
checkOutStatus: 'success'
}
]
并想把它變成這樣的:
[
{
id: 1,
checkInStatus: 'pending'
},
{
id: 1,
overtimeStatus: 'pending'
},
{
id: 2,
overtimeStatus: 'pending'
},
{
id: 3,
checkInStatus: 'pending'
}
]
我想從第一個資料轉換到第二個資料,如何實作?
uj5u.com熱心網友回復:
你可以嘗試這樣的事情:
const yourData = [
{
id: 1,
checkInStatus: 'pending',
overtimeStatus: 'pending',
checkOutStatus: 'success'
},
{
id: 2,
checkInStatus: 'success',
overtimeStatus: 'pending',
checkOutStatus: 'success'
},
{
id: 3,
checkInStatus: 'pending',
overtimeStatus: 'success',
checkOutStatus: 'success'
}
]
const pending = [];
for(const entry of yourData){
for(const property in entry){
if(entry[property] === 'pending'){
pending.push({ id: entry.id, [property]: entry[property] });
}
}
}
console.log(pending); // Matches your output requirement
uj5u.com熱心網友回復:
let data = [
{
id: 1,
checkInStatus: 'pending',
overtimeStatus: 'pending',
checkOutStatus: 'success'
},
{
id: 2,
checkInStatus: 'success',
overtimeStatus: 'pending',
checkOutStatus: 'success'
},
{
id: 3,
checkInStatus: 'pending',
overtimeStatus: 'success',
checkOutStatus: 'success'
}
]
要查找其 overtimeStatus 未決的物件陣列,您通常使用 for 回圈遍歷陣列元素并測驗 overtimeStatus 的值是否滿足條件,如下所示:
let yourData = [];
for (let i = 0; i < data.length; i ) {
if (data[i].checkInStatus === 'pending') {
yourData.push(data[i]);
}
}
console.log(yourData);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/346432.html
標籤:javascript 数组 排序 目的
上一篇:使用字串變數檢索JSON資料
