JSFiddle - React, Tailwind, and code Playground

HTML

<h1 id="title">Split an array on INT</h1> Output
<textarea type="input" id="txtOutput" cols="40" rows="10"></textarea>

JavaScript

main();

function main() {
	var x = [1,2,3,"abc","def","ghi",4,"jkl",5,6,"mno","pq","r","s","tu","v",2,4,55,"wx","yz"];
  var txtOutput = document.getElementById("txtOutput");
  txtOutput.value = array_to_string(split_on_type_change(x));
}

function split_on_type_change(input_array) {
	var output_array = [];
  var temp_array = [];
  var last_type = '';
	for (i = 0; i < input_array.length; i++) { 
  	if (typeof(input_array[i]) == 'number' && last_type == 'string') {
    	// append temp_array to output_array
      output_array.push(temp_array);
      // reset temp_array
      temp_array = [];
    }
    // append value to temp_array
    temp_array.push(input_array[i]);
    // keep track of the previous value's type
    last_type = typeof(input_array[i]);
  }
  // append temp_array to output_array
	output_array.push(temp_array);
	return output_array;
}

function array_to_string(array_to_convert) {
	var output_string = '';
  output_string = '[\n';
	for (i = 0; i < array_to_convert.length; i++) {
  	if (i > 0) {
	  	output_string += ',\n';
    }
  	output_string += '  [';
  	for (j = 0; j < array_to_convert[i].length; j++) {
      if (j > 0) {
        output_string += ',';
      }
      output_string += array_to_convert[i][j];
    }
  	output_string += ']';
  }
	output_string += '\n  ]\n';
  return output_string;
}