У меня есть массив строк, например ['2', '10', '11']
, и задавался вопросом, что является самым эффективным способом преобразования его в целочисленный массив. Должен ли я просто перебирать все элементы и преобразовывать их в целое число или есть функция, которая это делает?Преобразование строкового массива в целочисленный массив
ответ
Использование map()
и parseInt()
var res = ['2', '10', '11'].map(function(v) {
return parseInt(v, 10);
});
document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')
функция более упрощенной ES6 стрелка
var res = ['2', '10', '11'].map(v => parseInt(v, 10));
document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')
Или с помощью Number
var res = ['2', '10', '11'].map(Number);
document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')
Или добавления
+
символ будет гораздо проще идея, которая Обработать строку
var res = ['2', '10', '11'].map(v => +v);
document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')
FYI: Как @Reddy комментарий -
map()
не будет работать в старых браузерах или вы должны реализовать его (
Fixing JavaScript Array functions in Internet Explorer (indexOf, forEach, etc.)) или просто использовать цикл и обновить массив.
Также есть другой метод, который присутствует в это документации, пожалуйста, смотрите на Polyfill, благодаря @RayonDabre за указание.
Спасибо за предложения Тион! Единственное плохое в этом - это память другого массива, но, к счастью, мой массив не очень большой. – MarksCode
Для проблем совместимости обратите внимание, что метод Array.map() недоступен в IE8 и ниже –
[_Polyfill_] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ Array/map # Polyfill) есть .. – Rayon
Самый простой способ разбора Int из строки добавляет знак + перед:
var res = ['1', '2', '3'].map(function(v){return +v})
Вы можете использовать
var yourArray= yourArray.map(Number);
Использование JQuery, вы можете использовать метод карты, как показано ниже
$.map(yourArray, function(value,index) {
return parseInt(value);
});
- 1. преобразование 2d строкового массива в 2d целочисленный массив
- 2. Преобразование строкового массива в массив целых чисел
- 3. преобразование массива строк в целочисленный массив
- 4. Преобразование строкового массива обратно в массив
- 5. Преобразование из строкового массива в байтовый массив
- 6. Преобразование строкового массива в массив байтов
- 7. Преобразование строкового массива чисел в двойной массив
- 8. Преобразование строкового массива в короткий массив
- 9. Преобразование строкового массива в реальный массив
- 10. Преобразование строкового массива в байтовый массив
- 11. Сортировка целочисленный массив, привязанный к строкового массива в Java
- 12. Преобразование строкового массива в ячейку
- 13. Преобразование java.util.Collections в целочисленный массив
- 14. Преобразование строки в целочисленный массив
- 15. Преобразование строк в целочисленный массив
- 16. Преобразование строкового массива в строку
- 17. Java - преобразование байтового массива аудио в целочисленный массив
- 18. Преобразование строкового массива в конкатенацию в C#
- 19. Преобразование строкового массива в массив int в C++/cli
- 20. Преобразование строкового массива в массив int в C#
- 21. Преобразование строкового массива в jagged массив в java
- 22. Преобразование строкового представления массива обратно в массив int в java
- 23. C# Преобразование строкового массива в набор данных
- 24. Преобразование из строкового массива в char * const
- 25. (Java) Преобразование строки символов в целочисленный целочисленный массив
- 26. Преобразование строки в целочисленный массив в c
- 27. Преобразование строки в целочисленный массив в Ruby,
- 28. Преобразование строкового представления массива фактического массив в Python
- 29. Преобразование слова из строкового массива в массив символов
- 30. Преобразование строкового массива в массив байтов и обратно
'a = a.map (Number)' – georg