По сути, я пытаюсь превратить массив чисел в строку, а затем обратно в массив чисел (точно так же, как исходный массив, который был передан) в пределах одной функции.
Я знаю, что это превратит массив чисел в строку:
function arrayToStringAndBack (array) {
return array.join(" ");
}
console.log(arrayToStringAndBack([1, 2, 3, 4]));
1 2 3 4
Но теперь, если я захочу превратить эту строку обратно в массив, он вернет массив с кавычками вокруг каждого числа (в виде массива строковых чисел):
function arrayToStringAndBack (array) {
let string = array.join(" ");
return string.split(" ");
}
console.log(arrayToStringAndBack([1, 2, 3, 4]));
['1', '2', '3', '4']
Что я хочу сделать, так это превратить эту строку 1 2 3 4
в массив чисел [1, 2, 3, 4]
.
Моя идея состояла в том, чтобы перебрать каждый элемент в строке, превратить элемент в число с помощью .parseInt()
, а затем вставить это число в новый массив:
function arrayToStringAndBack (array) {
let string = array.join(" ");
let newArray = [];
for (let i = 0; i <= string.length; i++) {
let number = parseInt(string[i]);
newArray.push(number);
}
return newArray;
}
console.log(arrayToStringAndBack([1, 2, 3, 4]));
Но, как вы можете видеть это журналы:
[1, NaN, 2, NaN, 3, NaN, 4, NaN]
Почему все остальные элементы в numbers
NaN
? Это не имеет смысла для меня.