const str = "AFMH|ukyxZN$#AXbzHHP|KnPAc$fsjskd#AtAJbv|SggkLJc$asdsSd#DjYX|eLwPR$#DjsC|xtmzhu$#DrXAe|QvSHL$#EJvCJZN|CApWjSp$#EuNxr|YYzJ$#FgperUr|JmKCDt$#GUSLuj|KRnsr|PsfTjcQ|rZkjWdb$#GgzmtdC|hcwvBh$#HBVZgEn|ZLePVJ$#HTSmjh|PQVPpNp$#HwYzeY|xZPSr$#HyGnjKT|UeDJnMU$#HyGnjKT|WHEJEL$#HyGnjKT|dsSNKxv$#HyGnjKT|mjsyzAP$#HyGnjKT|pmssskP$#JGsmb|npufRd$#JHzsTbd|KHpNn$#JXJ|aRtRxL$#JbPNYA|HXWbWE$#JuJyDeN|UvGMcu$#KXjZjB|BBNGxAk$#LrJtZmT|fmPJ$#NpaPrX|KXzmDp$#PgjmrPT|UpHDsNj$#Psjv|MttswyC$#SPztXd|DBCUxZs$#TxE|rZrezm$#ULCSj|PchSWn$#UMkpLm|$#" const mainArr = str.split("#"); const splitArr = () => { let finalArr = []; for (let index = 0; index < mainArr.length; index++) { const element = mainArr[index]; const dollarElArr = element.split('$'); const duzElArr = dollarElArr[0].split('|'); finalArr.push({ chart: duzElArr[0], infoStr: dollarElArr[1] || null, kpiArr: [...duzElArr].slice(1) }) } return finalArr; } console.log('sonuc: ', splitArr());