求助:实现数组输入的重复值检测并输出重复项
数组重复值检测实现方案
- 编写重复值检测函数:在组件类中添加以下方法,统计数组元素出现次数并筛选重复项
getDuplicates(arr: string[]): string[] { // 先处理空元素和多余空格 const processedArr = arr.map(item => item.trim()).filter(item => item); const countMap = new Map<string, number>(); processedArr.forEach(item => { countMap.set(item, (countMap.get(item) || 0) + 1); }); // 筛选出现次数大于1的元素 return Array.from(countMap.entries()) .filter(([_, count]) => count > 1) .map(([item]) => item); }
- 在模板中展示重复值:修改HTML模板,调用上述函数并渲染结果
<!-- 假设你的输入数组绑定到inputArray变量 --> <div class="duplicate-result"> <h3>重复值:</h3> <span *ngIf="getDuplicates(inputArray).length === 0">无重复值</span> <span *ngIf="getDuplicates(inputArray).length > 0"> {{ getDuplicates(inputArray).join(', ') }} </span> </div>
- 输入格式优化(可选):如果是通过逗号分隔的字符串生成数组,处理分隔和空值
// 假设用户输入的字符串存在inputValue变量中 inputArray = this.inputValue.split(',').map(item => item.trim()).filter(item => item);
内容的提问来源于stack exchange,提问作者LasagneLover
相关产品推荐
相关产品推荐

