JSFiddle - React, Tailwind, and code Playground
by John Wick
JavaScript
/*
var s = [
'favorlink_hello',
'favorlink_hello_world',
'shared_bini',
'shared_bini_BINI',
'promotion_bini',
'promotion_bini_PH',
'user_tags_BINI',
'user_tags_bini_PH',
'user_tags__bini_PH_',
'user_tags_bini_PH_Bini_verse'
];
for(i=0; i < s.length; i++) {
var name = '';
var others = '';
var parts = s[i].split('_');
if (parts.length === 2) {
name = parts.slice(1)[0];
} else if (parts.length === 3) {
if (parts[0] === 'promotion' ||
parts[0] === 'shared' ||
parts[0] === 'favorlink') {
let parts2 = s[i].split('_');
parts2.shift();
name = parts2.join('_');
} else {
let parts2 = parts.slice(1);
parts2.shift();
name = parts2.join('_');
}
} else if (parts.length > 3) {
others = parts.slice(2);
name = others.join('_');
}
console.log(`${s[i]} ===== ${name}`);
}
*/
// Refactored version
const tt = [
'favorlink_hello',
'favorlink_hello_world',
'shared_bini',
'shared_bini_BINI',
'promotion_bini',
'promotion_bini_PH',
'user_tags_BINI',
'user_tags_bini_PH',
'user_tags__bini_PH_',
'user_tags_bini_PH_Bini_verse'
];
tt.forEach(item => {
let name = '';
const parts = item.split('_');
if (parts.length === 2) {
// Handle case with two parts
name = parts[1];
} else if (parts.length === 3) {
// Handle case with three parts
if (['promotion', 'shared', 'favorlink'].includes(parts[0])) {
name = parts.slice(1).join('_');
} else {
name = parts.slice(2).join('_');
}
} else if (parts.length > 3) {
// Handle case with more than three parts
name = parts.slice(2).join('_');
}
console.log(`${item} ===== ${name}`);
});