JavaScript split string to array of int
var ArrayData = $('#TheData').html().split(',').map( Number );
Add Array.prototype.map()
to older browsers with the code from MDN.
You can use jQuery's $.map()
in the same manner, though it won't work with $.prototype.map()
.
var ArrayData = $.map( $('#TheData').html().split(','), Number );
var ArrayData = $.map($('#TheData').text().split(','), function(value){ return parseInt(value, 10); // or return +value; which handles float values as well});
You can use $.map
to transform the array of strings to ints by calling parseInt
on each of the elements in the array
Pure Javascript solution:
const elementText = document.getElementById('divSourceID').innerText;const numericList = elementText.split(',').map(Number);
For more information:
getElementById: "The Document method getElementById() returns an Element object representing the element whose id property matches the specified string. Since element IDs are required to be unique if specified, they're a useful way to get access to a specific element quickly. (...)". Source: developer.mozilla.org.
Array.prototype.map: "The map() method creates a new array populated with the results of calling a provided function on every element in the calling array". Source: developer.mozilla.org.
array.map(Number): This call means the first received argument will be automatically converted into number and results in the same as if you explicitly declare the arrow function:
const numericList = elementText.split(',').map(Number);
same result as:
const numericList = elementText.split(',').map(str => Number(str));
JIT: Special thanks to @Robbendebiene for the excellent code review, simplifying the previous code.