function bracketIndices(str) {
const stack = [];
const result = [];
for (let i = 0; i < str.length; i++) {
if (str[i] === '{') {
stack.push(result.push([ i, null ]) - 1);
} else if (str[i] === '}') {
if (stack.length) {
result[stack.pop()][1] = i;
} else {
result.push([ null, i ]);
}
}
}
return result;
}
bracketIndices('{}{{{}}}') // [[0,1],[2,7],[3,6],[4,5]]
bracketIndices('---}{{}{') // [[null,3],[4,null],[5,6],[7,null]]
bracketIndices('fuck off') // []
overflow: visible
для svg https://jsfiddle.net/hbtg1dqs/ lab.textContent = lab.textContent.replace(/ pineapple/g, '')