The problem is in this expression
k<=arr1.length
When k
is 6
, k++
increments k
and it becomes 7
. And then k <= arr1.length
is true because arr1.length
is 7. The next statement is
arr1[k] = +arr1[k];
which creates a new element in the array at index 7. So the array keeps on growing infinitely. What you should have done is
var arr1 = "1,2,3,3,4,5,6".split(",");
for (var k = 0; k < arr1.length; k++) {
arr1[k] = +arr1[k];
}
console.log(arr1);
# [ 1, 2, 3, 3, 4, 5, 6 ]
Iterate only till the counter is lesser than length of the array. Otherwise store the length of the array in a temporary variable like this
for (var k = 0, len = arr1.length; k < len; k++) {
arr1[k] = +arr1[k];
}
You can write the same as, simply
console.log("1,2,3,3,4,5,6".split(",").map(Number));
# [ 1, 2, 3, 3, 4, 5, 6 ]