修改一下代码,processStrings输入一维数组即可,不需要二维数组
时间: 2024-09-24 14:05:48 浏览: 34
当然可以,如果你的输入是一维数组,我们只需要稍微调整下循环结构。下面的代码将处理一维数组,并保持其他逻辑不变:
```javascript
function processStrings(strings) {
function countDays(day) {
return strings.some(string => string.includes(`day${day}`));
}
const daysCount = Array(7).fill(0); // 初始化结果数组
for (let i = 0; i < strings.length; i++) {
for (let j = 1; j <= 7; j++) { // 遍历每个字符串中的每一天
if (countDays(j)) {
daysCount[j - 1] = 1; // 因为数组索引从0开始,所以day1的索引是0
}
}
}
return daysCount.map(count => count ? '1' : '0').join('').replace(/0/g, ''); // 转换为指定格式并删除多余的0
}
// 示例数据
const inputArray = ['week1_day1', 'week1_day3', 'week1_day7', 'week2_day5', 'week2_day7', 'week3_day1', 'week3_day4', 'week3_day7'];
console.log(processStrings(inputArray)); // 输出:1010001
```
这段代码现在接受一维数组作为输入,处理并返回结果。注意,最后一步的 `.replace(/0/g, '')` 是为了移除所有0,因为结果表示的是特定日子是否存在,所以不需要0。
阅读全文