gpt4 book ai didi

javascript - 使用动态条件过滤以排除 javascript 中的某些值

转载 作者:行者123 更新时间:2023-12-03 00:47:20 30 4
gpt4 key购买 nike

我有一个字符串数据数组:

0:"dbname_default_2018-10-26"
1:"dbname_default_2018-10-27"
2:"dbname_default_2018-10-28"
3:"dbname_default_2018-10-30"
4:"dbname_default_2018-10-31"
5:"dbname_default_2018-11-01"
6:"dbname_default_2018-11-03"
7:"dbname_default_2018-11-04"
8:"dbname_default_2018-11-06"
9:"dbname_default_2018-11-07"
10:"dbname_default_2018-11-08"

...以及另一个条件数组,它是使用 formatDate 动态创建的:

0:"2018-11-06"
1:"2018-11-07"

我想拼接名称包含条件的项目。目标是根据资历天数删除数据库名称。因此,如果资历为 2,则它应该只保留日期为今天 - 2 天及以上的项目。

这是我的程序:

async function selectDdToDelete(dbArray, seniority) {
let datesToKeep: string[] = [];
let dbTokeep;
for (let i = seniority; i >= 0; i--) {
datesToKeep.push(
`${formatDate(i).year}-${formatDate(i).month}-${formatDate(i).day}`
);
}
dbTokeep = dbArray.filter(elm => {
let exists = false;
for (let i = 0; i < datesToKeep.length; i++) {
if (elm.includes(datesToKeep[i])) {
exists = true;
}
}
if (!exists) {
return elm;
}
});

return dbTokeep;
}

我首先得到一个带有 formatDate() 的条件数组,它向我发送一个对象 {year:2018,month:"11",day:"06"},例如如果 i==1 (今天日期 -i)。

然后我对数据数组进行过滤。在其中,我循环数组标准并使用中间变量,我决定是否返回元素。

然后我发送新的过滤数组。

我的问题是,实际上我在条目中得到了与最后相同的数组。

我期望得到的是:

0:"dbname_default_2018-10-26"
1:"dbname_default_2018-10-27"
2:"dbname_default_2018-10-28"
3:"dbname_default_2018-10-30"
4:"dbname_default_2018-10-31"
5:"dbname_default_2018-11-01"
6:"dbname_default_2018-11-03"
7:"dbname_default_2018-11-04"
8:"dbname_default_2018-11-08"

最佳答案

var data = [
"dbname_default_2018-10-26",
"dbname_default_2018-10-27",
"dbname_default_2018-10-28",
"dbname_default_2018-10-30",
"dbname_default_2018-10-31",
"dbname_default_2018-11-01",
"dbname_default_2018-11-03",
"dbname_default_2018-11-04",
"dbname_default_2018-11-06",
"dbname_default_2018-11-07",
"dbname_default_2018-11-08" ]

const dynamicCretarias = [
"2018-11-06",
"2018-11-07"
];

data = data.filter((item)=> !dynamicCretarias.some(t => item.includes(t)))
console.log(data)

关于javascript - 使用动态条件过滤以排除 javascript 中的某些值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53192179/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com