javascript将字符串拆分为int数组

时间:2011-11-22 19:44:43

标签: javascript jquery

我有一个字符串在页面上,我想要一个int数组。

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

我写的是:

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

但是,ArrayData变成了一个字符串数组。如何获得一系列整数?请注意,HTML中的某些元素可以等于0.

感谢。

6 个答案:

答案 0 :(得分:32)

var ArrayData = $.map($('#TheData').text().split(','), function(value){
    return parseInt(value, 10);
    // or return +value; which handles float values as well
});

您可以使用$.map通过在数组中的每个元素上调用parseInt将字符串数组转换为整数

答案 1 :(得分:30)

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

使用代码from MDNArray.prototype.map()添加到旧浏览器。


您可以以相同的方式使用jQuery $.map(),但它不能与$.prototype.map()一起使用。

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

答案 2 :(得分:10)

var ArrayData = $('#TheData').text().split(',').map(Number);

您可以在此处找到更多信息:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

答案 3 :(得分:5)

这是一个简单的答案

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

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

console.log(result);

答案 4 :(得分:0)

对于那些想使用纯Javascript解决此问题的人,这是我的方法:

const elementText = document.getElementById('TheData').innerText;
const numericList = Array.from(elementText.split('')).map(item => Number(item));

有关更多信息:

1) getElementById :“文档方法getElementById()返回一个Element对象,该对象表示其id属性与指定字符串匹配的元素。由于指定了元素ID,因此它们必须是唯一的一种快速访问特定元素的有用方法。(...)”。 来源developer.mozilla.org

2) Array.from :“ Array.from()方法从类似数组或可迭代的对象中创建一个新的,浅复制的Array实例。(...)”。 来源developer.mozilla.org

答案 5 :(得分:0)

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

Split之后使用ma​​p函数,在map的回调中可以解析那个Integer