I was using a map to trying to clean data send to an API that has sentence parser the problem it really breaks when finding a \n or \t so chose to replace for a time:
const allBulletPoints = Array.from(document.querySelectorAll('ul,ol'));
const allBulletPointsText = allBulletPoints.map((element) =>
element.textContent
.split(/(\t)|(\n)/g)
.filter((element) => element && !element.match(/(\t)|(\n)/gi))
);
console.log(allBulletPointsText);
/*
Result:
[
[
" Lorem ipsum dolor sit amet consectetur, adipisicing elit",
" Lorem ipsum dolor sit amet consectetur, adipisicing elit",
" Lorem ipsum dolor sit amet consectetur, adipisicing elit",
" "
],
[
" Lorem ipsum dolor sit amet consectetur, adipisicing elit",
" Lorem ipsum dolor sit amet consectetur, adipisicing elit",
" Lorem ipsum dolor sit amet consectetur, adipisicing elit",
" "
]
]
I need to be like this:
[
"Lorem ipsum dolor sit amet consectetur, adipisicing elit",
"Lorem ipsum dolor sit amet consectetur, adipisicing elit",
"Lorem ipsum dolor sit amet consectetur, adipisicing elit",
"Lorem ipsum dolor sit amet consectetur, adipisicing elit",
"Lorem ipsum dolor sit amet consectetur, adipisicing elit",
"Lorem ipsum dolor sit amet consectetur, adipisicing elit",
]
*/
<ul>
<li>Lorem ipsum dolor sit amet consectetur, adipisicing elit</li>
<li>Lorem ipsum dolor sit amet consectetur, adipisicing elit</li>
<li>Lorem ipsum dolor sit amet consectetur, adipisicing elit</li>
</ul>
<ol>
<li>Lorem ipsum dolor sit amet consectetur, adipisicing elit</li>
<li>Lorem ipsum dolor sit amet consectetur, adipisicing elit</li>
<li>Lorem ipsum dolor sit amet consectetur, adipisicing elit</li>
</ol>
But right now I want to make to do a little more clean using substr or the split and add all elements seperated then and add to the same array.
Any idea how to get better solution using this functions?