jquery 将 num 字符串转换为 int
jquery convert num string to int
如何获取包含
等数字的字符串
1 - 2 - 3 - 4 - 5 - 6
并将每个数字转换为整数?
我试过以下方法,但它只是 returns 第一个整数。
var a = '1 - 2 - 3 - 4 - 5 - 6';
var b = parseInt( a.split('-') );
$('#b').append(b);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id='b'></div>
那是因为 string.split returns 一个字符串数组。
如果您想处理 split
返回的每个单独的值,请遍历数组并在迭代时将项目解析为数字。
然后您可以随意处理解析后的数字。
(在此示例中,它将每个数字乘以 2 并附加输出)
var a = '1 - 2 - 3 - 4 - 5 - 6';
var splitarray = a.split('-')
for(var i=0; i < splitarray.length; i++)
{
var valueAsInt = parseInt(splitarray[i]);
//do whatever you want with valueAsInt, like for instance
valueAsInt *= 2;
//adding the br so we can see what the individual numbers are
$('#resultDiv').append(valueAsInt + "<br />");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="resultDiv"></div>
parseInt
将转换单个字符串,而不是字符串数组。
您可以使用 jquery $.each
来解析每个项目和 return int
的数组。
(将其放入问题中的 html 和下面的代码片段中并没有多大意义,因为它会转换回 html 的字符串,但可以对这些值进行一次操作在数组中)。
var a = '1 - 2 - 3 - 4 - 5 - 6';
var arr = $.each(a.split('-'), function() { return parseInt(this, 10); });
var a = '1 - 2 - 3 - 4 - 5 - 6';
var b = $.each(a.split('-'), function() { return parseInt(this, 10); });
// b is now an array of ints
$("#result").html(b.join(","))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='result'>
</div>
你的情况没有意义,因为无论如何附加它时它都会转换回字符串。对于您提供的数字,转换完全没有影响。
如果您有重要的地方,请参阅评论:
var a = '1 - 2 - 3 - 4 - 5 - 6';
// Let's not look this up every time
var b = $("#b");
// Split and loop through the parts
a.split('-').forEach(function(entry) {
// Append each part after converting to int.
// Note the 10 at the end: That's the number base.
b.append(parseInt(entry, 10));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id='b'></div>
您应该根据 -
拆分您的字符串,然后迭代它以将每个元素附加到您的 html 元素
var a = '1 - 2 - 3 - 4 - 5 - 6';
var arr = a.split(' - ');
var ele=$('#b');
for(var i=0; i < arr.length; i++)
{
ele.append(parseInt(arr[i]));
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id='b'></div>
这是因为 split() 函数 return 数组和 parseInt() 不支持输入数组。
你必须一个一个解析数组的每个元素。
试试这个:
var a = '1 - 2 - 3 - 4 - 5 - 6';
// Split string into array
var b = a.split('-');
var c = [];
// convert from string to integer and push it into c array
b.forEach(function (item, index, arr) {
c.push(parseInt(item.trim()));
});
$('#b').append(c);
如何获取包含
等数字的字符串1 - 2 - 3 - 4 - 5 - 6
并将每个数字转换为整数?
我试过以下方法,但它只是 returns 第一个整数。
var a = '1 - 2 - 3 - 4 - 5 - 6';
var b = parseInt( a.split('-') );
$('#b').append(b);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id='b'></div>
那是因为 string.split returns 一个字符串数组。
如果您想处理 split
返回的每个单独的值,请遍历数组并在迭代时将项目解析为数字。
然后您可以随意处理解析后的数字。 (在此示例中,它将每个数字乘以 2 并附加输出)
var a = '1 - 2 - 3 - 4 - 5 - 6';
var splitarray = a.split('-')
for(var i=0; i < splitarray.length; i++)
{
var valueAsInt = parseInt(splitarray[i]);
//do whatever you want with valueAsInt, like for instance
valueAsInt *= 2;
//adding the br so we can see what the individual numbers are
$('#resultDiv').append(valueAsInt + "<br />");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="resultDiv"></div>
parseInt
将转换单个字符串,而不是字符串数组。
您可以使用 jquery $.each
来解析每个项目和 return int
的数组。
(将其放入问题中的 html 和下面的代码片段中并没有多大意义,因为它会转换回 html 的字符串,但可以对这些值进行一次操作在数组中)。
var a = '1 - 2 - 3 - 4 - 5 - 6';
var arr = $.each(a.split('-'), function() { return parseInt(this, 10); });
var a = '1 - 2 - 3 - 4 - 5 - 6';
var b = $.each(a.split('-'), function() { return parseInt(this, 10); });
// b is now an array of ints
$("#result").html(b.join(","))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='result'>
</div>
你的情况没有意义,因为无论如何附加它时它都会转换回字符串。对于您提供的数字,转换完全没有影响。
如果您有重要的地方,请参阅评论:
var a = '1 - 2 - 3 - 4 - 5 - 6';
// Let's not look this up every time
var b = $("#b");
// Split and loop through the parts
a.split('-').forEach(function(entry) {
// Append each part after converting to int.
// Note the 10 at the end: That's the number base.
b.append(parseInt(entry, 10));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id='b'></div>
您应该根据 -
拆分您的字符串,然后迭代它以将每个元素附加到您的 html 元素
var a = '1 - 2 - 3 - 4 - 5 - 6';
var arr = a.split(' - ');
var ele=$('#b');
for(var i=0; i < arr.length; i++)
{
ele.append(parseInt(arr[i]));
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id='b'></div>
这是因为 split() 函数 return 数组和 parseInt() 不支持输入数组。
你必须一个一个解析数组的每个元素。
试试这个:
var a = '1 - 2 - 3 - 4 - 5 - 6';
// Split string into array
var b = a.split('-');
var c = [];
// convert from string to integer and push it into c array
b.forEach(function (item, index, arr) {
c.push(parseInt(item.trim()));
});
$('#b').append(c);