我有一个字符串在页面上,我想要一个int数组。
<div id="TheData">2,3,0,43,23,53</div>
我写的是:
var ArrayData = ($('#TheData').html()).split(',');
但是,ArrayData变成了一个字符串数组。如何获得一系列整数?请注意,HTML中的某些元素可以等于0.
感谢。
答案 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 MDN将Array.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之后使用map函数,在map的回调中可以解析那个Integer