gpt4 book ai didi

javascript - 我可以在过滤方法中使用变量吗?

转载 作者:行者123 更新时间:2023-12-02 23:23:05 26 4
gpt4 key购买 nike

我可以给变量赋值,然后在 js 过滤器方法中使用这些变量吗?

我正在尝试使用分配给两个变量的本地数据,然后在我的过滤方法中使用这些变量。我正在尝试这个,因为我想使用几个不同的过滤器(键和值,例如年龄:5)来过滤数组。我有一个玩家数组,您可以选择一项或多项内容来过滤玩家。当用户选择过滤器时,它们被保存在过滤器[]中。我想迭代过滤器[]并将每个过滤器应用于玩家数组。第一个过滤器需要在包含所有玩家的数组上使用,然后每个后续过滤器都可以在过滤后的数组上使用(使其每次迭代更小)。我的代码仅显示我最初的第一个过滤方法。

applyFirstFilter() {
let filterValue = this.filters[0];
let filterKey = this.checkValue(filterValue);
console.log("key: " + filterKey + ", filterValue: " + filterValue);

//loop through filters[]
// apply first filter to allPlayers and assign to displayPlayerArray
this.displayedPlayerArray = this.allPlayersArray.filter(player => player.filterKey === filterValue);
console.log("displayed array: " + this.displayedPlayerArray);

// apply all remaining filters to displayPlayerArray

},

控制台显示filterValue和filterKey具有我期望的值。我所做的所有研究都显示了固定的示例,例如:

var ages = [32, 33, 16, 40];

function checkAdult(age) {
return age >= 18;
}

function myFunction() {
this.localArray = ages.filter(checkAdult);
}

到目前为止,我的过滤方法不会影响我的数组。我真的不确定这是否真的可行。 :/有什么想法吗?

最佳答案

回答您最基本的问题:是的,您可以在过滤器中使用变量。以年龄过滤为例,您可以使用变量而不是固定数字:

var ages = [32, 33, 16, 40];

function checkAge(age, minAge) {
return age >= minAge;
}

function myFunction(minAge) {
return ages.filter((age) => checkAge(age, minAge));
}

myFunction(18); // returns [32, 33, 40];
myFunction(30); // returns [40]

现在,为什么你的代码不起作用有点难以弄清楚。为此,我们需要了解有关 allPlayersArraythis.filters

结构的更多信息

关于javascript - 我可以在过滤方法中使用变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56859875/

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