Как разбить строку по 2 символа, и если символу нет пары добавить ('_')?
Помогите пожалуйста, как На каждой итерации добавь строку с текущим и следующими символами в массив результатов.
function splitString(str) {
let resArr = [];
let helpStr = '_';
for (var i = 0; i < str.length; i = i + 2) {
let currstr = str[i + 1];
console.log(currstr)
}
return resArr;
}
let = resSplit = splitString('123456');
console.log(resSplit);
Ответы (4 шт):
Автор решения: Михаил В
→ Ссылка
Ну если я правильно понял, что нужно. Очень просто. Разумеется, мы изначально подразумеваем, что inputString это обычная строка
const inputString = '123456';
let result = [];
for (let i = 0; i < inputString.length; i++) {
result.push(`${inputString[i]}${ !!inputString[i+1] ? inputString[i+1] : '_' }`);
}
console.log(result);
Автор решения: Sergey Glazirin
→ Ссылка
Не знаю, какой вариант правильный с точки зрения поставленной задачи, привел оба решения.
const inputString = '123456';
const getArray = (str) => str.split('').map((item, index) =>
`${item},${!!str[index+1] ? str[index+1] : '_'}`
)
console.log(getArray(inputString));
const inputString = '1234567';
const getArray = (str) => {
let result = [];
for (let i = 0; i < str.length; i = i + 2) {
result.push(`${str[i]}${ !!str[i+1] ? str[i+1] : '_' }`);
}
return result;
}
console.log(getArray(inputString));
Автор решения: Дмитрий Затонский
→ Ссылка
Function splitString(str) {
let arr = []`введите сюда код`;
let symbol = '_';`введите сюда код`
if (str.length % 2 !== 0) {
str += symbol;
}
for (let i = 0; i < str.length; i = i + 2) {
arr.push(str[i] + str[i + 1]);
}
console.log(arr);
return arr;
}
Автор решения: ksa
→ Ссылка
Добавлю свои 5коп...
const test = s => s.match(/..?/g).map(v => v.length == 1 ? v + '_' : v)
console.log(test('123456789'))