Задача: задается строка, необходимо вернуть массив состоящий из пар символов, если у последней пары не хватает символа добавить вместо него "_"
Пример: "abcde"
=> [ab, cd, e_]
function solution(str){
var arrLetters=[];
var result = [];
arrLetters = str.split("");
if (arrLetters.length % 2 != 0) arrLetters.push("_");
for (let s=0;s<arrLetters.length;s++) {result.splice( result.length,0,arrLetters[s]+arrLetters[s+1])};
for (let s=0;s<arrLetters.length;s++) {result.splice(s+1,s)};
return (result);//(1) смотреть ниже
}
console.log(solution("abcde"), "ab", "cd", "e_");
Вринципе код рабочий, но я бы хотел улучшить его. Если можно с подробным описанием ваших решений. Пытался найти метод которым можно записать в массив сразу 2 символа без лишних манипуляций строка (1)
function solution(str) {
return str.split('')
.map((c, i, ar) => c + (ar[i + 1] ? ar[i + 1] : '_')) // объединяем каждый символ со следующим
.filter((c, i) => 1 - i % 2); // убираем четные пары
}
console.log(solution("abcde"), "ab", "cd", "e_");
const solution = (str) => {
return str.match(/..?/g).map(x => {return x.length % 2 === 0 ? x : x + '_'});
}
console.log(solution('abcde'), 'ab', 'cd', 'e_');
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Сейчас у меня стоит watch, и webpack делает пересборку, после каждого изменения файлаНо когда я допускаю синтаксические ошибки в js, то в консоли...
Использую Typescript Strict ModeНеобходимо реализовать что-то похожее на это