JSFiddle - React, Tailwind, and code Playground
JavaScript
var input = [3,0,2,-1,0,-3].join('+');
console.log( input );
var output = input.match(/-\d+/g).concat( input.match(/0/g) ).concat( input.match(/(^|\+)[1-9]\d*/g) ).map(parseFloat);
console.log( output );