const makeItFoo = (str, n) => {
const re = new RegExp(`(${'.'.repeat(n-1)})(.)`, 'g');
return str.replace(re, (a,b,c) => b + c.toUpperCase());
}
makeItFoo('abcdefgh', 3) // "abCdeFgh" (0,9).. (9, ..(0, 38) ... (39 – 38-я буква в пролёте ) $user_id % $N /etc/sysctl.conf:fs.file-max = 1000000
fs.nr_open = 1000000
net.ipv4.netfilter.ip_conntrack_max = 1048576
net.nf_conntrack_max = 1048576/etc/security/limits.d/custom.conf:root soft nofile 1000000
root hard nofile 1000000
* soft nofile 1000000
* hard nofile 1000000
map()это не про строки, а про массивы. Да тут и не важно. Строка разумеется будет другой, чем исходная. Другим объектом.Как именно считать N-й элемент, с нуля или как можно позже – дело вкуса, в условии не уточняют, но в примере результата явно второе. Значит вы правильно сделали с
(i + 1) % n