gpt4 book ai didi

javascript - 数组在任何给定时间仅限于一项的问题

转载 作者:行者123 更新时间:2023-12-01 03:01:22 25 4
gpt4 key购买 nike

我在一个构建数组的相当简单的函数中遇到了一个问题 - 我对问题是什么一无所知。这可能很简单 - 但我只是没有看到它。

这是函数:

private onSelection(selection)
{
if (selection)
{
const selectionsArray = [];
selectionsArray.push(selection);
console.log(selectionsArray);
console.log(selectionsArray.length);
return selectionsArray;
}
}

“选择”是通过复选框传递的,如下所示:

<md-checkbox (click)="onSelection('A')">A</md-checkbox>
<md-checkbox (click)="onSelection('B')">B</md-checkbox>
<md-checkbox (click)="onSelection('C')">C</md-checkbox>

现在,无论在复选框中单击什么,我的数组始终只是一项,当我控制台输出长度时,这一点得到了确认 - 长度始终为 1。我在这里缺少什么?为什么在推送多个选择时数组不会构建为 2 和 3 个项目?

最佳答案

您的 onSelection 处理程序始终在添加之前重置现有数组所选元素。所以你需要在外面初始化你的数组您的 onSelection 函数。

建议:-您可以删除现有代码中的 if (selection) 条件,它始终为 true,但您应该在添加之前检查所选元素是否已在您的 selectionsArray 中这样,您的 selectionsArray 中就不会出现任何重复的条目。顺便说一句,您应该删除 selectionsArrayconst 声明,它没有任何意义。

const selectionsArray = [];
private onSelection(selection)
{
if (selection)
{
selectionsArray.push(selection);
console.log(selectionsArray);
console.log(selectionsArray.length);
return selectionsArray;
}
}

关于javascript - 数组在任何给定时间仅限于一项的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46411139/

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