Использование логики someStringArray.indexOf()
в цикле forEach
срабатывает, когда элемент имеет повторяющиеся числа.
Я пытаюсь взять номер телефона США и отформатировать его как (xxx)xxx-xxxx
, используя изначально 10-значный номер в качестве строки. Затем преобразование в массив, чтобы я мог пройти по нему и отформатировать.
"use strict";
let tel = 5149100499;
let telStr = tel.toString();
let ntel = telStr.split('');
ntel.forEach(char => {
let d = ntel.indexOf(char);
if(ntel.indexOf(char) === 0) {
ntel.splice(d,0,"(");
}else if(ntel.indexOf(char) === 4){
ntel.splice(d,0,")");
}else if(ntel.indexOf(char, 7) === 9){
ntel.splice(d,0,"-");
}
});
let ntelStr = ntel.join('');
console.log(ntelStr);
В идеале вывод должен быть:
ntelStr = (514)910-0499