У меня есть строки, которые выглядят так:
aa-bbb-cc-d-ff-eee-gg
aa-bb-ccc-d
aaa-bbbb
Они разделены символом тире -
.
Теперь яхотите обрезать последнюю часть этих строк и придумать что-то вроде
- из
aa-bbb-cc-d-ff-eee-gg
в aa-bbb-cc-d
// удалены 3 части - из
aa-bb-ccc-d
вaa-bb
// удалено 2 части - из
aaa-bbbb
в aaa
// удалено 1 часть
и т. Д.Количество порций, которые нужно удалить, также определено.
Я знаю, что могу просто пройтись по длине этих строк, разделив их и объединив их, как сумасшедший.
function splitParts(str, parts){
let len = str.split('-').length;
let output = "";
for(let i = 0; i < len - parts; i++){
output += !i ? str.split('-')[i] : "-" + str.split('-')[i];
}
return output;
}
console.log(splitParts("aa-bb-ccc-dd-eee", 1))
Но я нахожу это мучительно невыразительным и дилетантским.Есть ли другой способ сделать это лучше?Желательно один лайнер, который работает с IE11.Но другие подходы, которые не просто пробивают разделенные части, также будут работать.