在我下面的示例中,我試圖從用戶所做的條目(“預訂”)中提取一個變數。如果一個是在復活節假期制作的,我會在資料庫上設定一個帶有日期的單元格,如果它沒有設定值 =“”,例如Easteryear = "2022" || Easteryear = "" 在資料庫上。但我發現很難提取定義的最新值。在回圈的下一次迭代中不覆寫它
我正在尋找的資料示例是:id:1 Easteryear ="2021" || id:2 Easteryear ="2022" || id:3 Easteryear =""我想要 2022 年的資料填充單元格。但我的值不斷設定為 Null/NaN
我的方法很可能遠非正確,但我需要幫助提取回圈中不為空的最新值(如果我可以在回圈外執行它會很棒,但是我確實需要獲得該值,以便我可以設定另一個變數以供以后比較)
短代碼 TLDR:我試圖創建一個檢查以查看是否沒有找到值(AkA Easteryear 在所有條目上都是空的)為用戶創建一個值,就像他們在這里預訂復活節值一樣。然后找到最新的并設定userEasteryear
if(this.personalEntries && this.personalEntries.length){
this.personalEntries.forEach(az => {
if(az.easterYear == null || az.easterYear == "" && easterindex <= 1){
easterindex ;
this.easterYear = year.toString();
return; //Trying to break out oft he loop if this happens, Its a bad idea Thinking about it now.
}else{
var foundEasterYear = parseInt(az.easterYear);
if(foundEasterYear !== NaN ){
userEasteryear = foundEasterYear; //My last ittiration of the if I kept getting leaks
}
az.inbet.forEach(i => {
var x = (i.month "-" i.day "-" i.year);
personalInbet.push(x);//This is a Temorary Array to Set the Dates Inbtw Start/End Dates
});
}
});
個人條目結構:
- 姓
- 開始日期
- 結束日期
- InBetween[] //從開始到結束日期的日期陣列。
- 復活節年
uj5u.com熱心網友回復:
因此,如果我理解正確,請列出PersonalEntries您想要回傳指定的最高年份的串列。然后它只是類似于
在物件陣列中查找屬性的最大值
const data = [
{id:1, Easteryear: "2021"},
{id:2, Easteryear: "2022"},
{id:3, Easteryear: ""}
]
function getHighestField(objArray, fieldName) {
return Number(
Math.max.apply(
Math,
objArray?.map(o => o[fieldName] || 0),
) || 0,
);
}
console.log(getHighestField(data, 'Easteryear'));
如果你想要完整的物件
const data = [
{id:1, Easteryear: "2021"},
{id:2, Easteryear: "2022"},
{id:3, Easteryear: ""}
]
function getHighestField(objArray, fieldName) {
return objArray.reduce((a,b)=>a[fieldName]>b[fieldName]?a:b);
}
console.log(getHighestField(data, 'Easteryear'));
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/410840.html
標籤:
