0

JavaScript: Разделение строки на массив целых чисел

12

Я столкнулся с проблемой, связанной с извлечением массива целых чисел из строки на странице. У меня есть следующий HTML-код:

<div id="TheData">2,3,0,43,23,53</div>

Я пишу такой код на jQuery:

var ArrayData = ($('#TheData').html()).split(',');

Однако, в результате переменная ArrayData становится массивом строк. Как я могу преобразовать его в массив целых чисел? Нужно учесть, что некоторые элементы в HTML могут равняться 0.

Спасибо за помощь!

4 ответ(ов)

0

Вы можете использовать $.map, чтобы преобразовать массив строк в числа, вызывая parseInt для каждого элемента массива. В представленном примере код разбивает текст, содержащийся в элементе с ID TheData, по запятой, затем применяет parseInt для преобразования каждого из полученных значений в целое число. Альтернативно, вы можете использовать унарный оператор +, который также обрабатывает вещественные числа.

Вот переведённый код:

var ArrayData = $.map($('#TheData').text().split(','), function(value){
    return parseInt(value, 10);
    // или можно использовать +value; это также будет обрабатывать вещественные значения
});

Таким образом, ArrayData будет содержать массив чисел, преобразованных из строк.

0

В вашем коде используется jQuery для извлечения текста из элемента с id "TheData", который затем разбивается на массив строк по запятой с помощью метода split(','). После этого метод map(Number) преобразует каждую строку массива в число.

Итак, вот объяснение кода:

var ArrayData = $('#TheData').text().split(',').map(Number);
  1. $('#TheData').text() — извлекает текстовое содержимое элемента с id "TheData".
  2. split(',') — разбивает полученный текст на массив строк, используя запятую в качестве разделителя.
  3. map(Number) — применяет функцию Number к каждому элементу массива, преобразуя строки в числа.

Таким образом, переменная ArrayData будет содержать массив чисел, извлеченных из текста элемента. Для получения более подробной информации о методе map вы можете ознакомиться с документацией на MDN.

0

Вот простой ответ:

let x = "1,2,3,4";

let result = x.split(",").map((e) => parseInt(e));

console.log(result);

Данный код разбивает строку x, используя запятую в качестве разделителя, а затем преобразует каждый элемент массива в число с помощью функции parseInt. В результате вы получите массив чисел: [1, 2, 3, 4].

0

Ваш код использует функцию map после метода split, чтобы преобразовать строки в массиве в целые числа. Вот объяснение на русском:

var ArrayData = $('#TheData').html().split(',').map(d => { return parseInt(d) });

В этом коде сначала происходит извлечение HTML-содержимого элемента с ID TheData с помощью метода html(), затем это содержимое разбивается на массив строк с помощью метода split(','), который разделяет строки по запятой. После этого используется функция map, чтобы пройтись по каждому элементу массива и выполнить преобразование: с помощью parseInt(d) каждую строку преобразуем в целое число. В результате ArrayData будет массивом целых чисел.

Таким образом, использование map после split позволяет вам удобно трансформировать данные в необходимый формат.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь