如何在javascript中将JSON数组值转换为整数(来自php/mysql)
我有一个php页面,它获取mysql数据库中的一些数据并返回一个json文件,然后我用ajax调用调用这个json文件:如何在javascript中将JSON数组值转换为整数(来自php/mysql),javascript,php,mysql,json,Javascript,Php,Mysql,Json,我有一个php页面,它获取mysql数据库中的一些数据并返回一个json文件,然后我用ajax调用调用这个json文件: $.ajax({ type: "POST", dataType: "json", url: "get_players_stats.php", //Relative or absolute path to players_stats file success: function(data) {
$.ajax({
type: "POST",
dataType: "json",
url: "get_players_stats.php", //Relative or absolute path to players_stats file
success: function(data) {
var list = [];
$.each(data, function() {
list.push([this.time, this.playersonline]);
})
console.log(list);
}
});
console.log(列表)代码>向我显示以下内容:
[["-1009843200000", "1"], ["-252460800000", "2"], ["-94694400000", "3"], ["31536000000", "2"],....
但我希望它看起来像这样:
[[-1009843200000, 1], [-252460800000, 2], [-94694400000, 3], [31536000000, 2],....
我该怎么做呢?你能做这么简单的事情吗
$.each(data, function() {
list.push([Number(this.time), Number(this.playersonline)]);
}
你能做点像这样简单的事吗
$.each(data, function() {
list.push([Number(this.time), Number(this.playersonline)]);
}
这是一个类型转换问题:您的数据显示为文本格式,而您希望它显示为数字格式
您可以在javascript中将文本解析为float,但这可能会非常低效,因为您可以将数据转换为返回JSON的SQL查询中所需的类型
为了获得更多关于如何将数据拉入JSON的详细信息,最好先看看如何将数据拉入JSON
编辑:
您应该使用的实际答案如下:
这是一个类型转换问题:您的数据显示为文本格式,而您希望它显示为数字格式
您可以在javascript中将文本解析为float,但这可能会非常低效,因为您可以将数据转换为返回JSON的SQL查询中所需的类型
为了获得更多关于如何将数据拉入JSON的详细信息,最好先看看如何将数据拉入JSON
编辑:
您应该使用的实际答案如下:
您真的需要将这些值转换为数字值吗?JavaScript只支持53位整数,因此parseInt('1076543210012456789')
将转换为10765432100123458000
integer
如果仍要转换响应,可以执行以下操作:
$.each(data, function() {
list.push([+this.time, +this.playersonline]);
})
您真的需要将这些值转换为数字值吗?JavaScript只支持53位整数,因此parseInt('1076543210012456789')
将转换为10765432100123458000
integer
如果仍要转换响应,可以执行以下操作:
$.each(data, function() {
list.push([+this.time, +this.playersonline]);
})
ES6语法
让arr=[“-1009843200000”,“1”],[“-252460800000”,“2”],[“-94694400000”,“3”],[“31536000000”,“2”];
让newArr=arr.map((item)=>item.map((it)=>Number(it));
console.log(newArr)
ES6语法
让arr=[“-1009843200000”,“1”],[“-252460800000”,“2”],[“-94694400000”,“3”],[“31536000000”,“2”];
让newArr=arr.map((item)=>item.map((it)=>Number(it));
console.log(newArr)
为什么希望它看起来像这样?Javascript在变量类型上是宽容的,所以除非您需要它是一个整数(或浮点),否则它有什么区别呢?这是重复的。问题出在PHP方面。看看这个答案:为什么你想让它看起来像那样?Javascript在变量类型上是宽容的,所以除非您需要它是一个整数(或浮点),否则它有什么区别呢?这是重复的。问题出在PHP方面。请看下面的答案:好的一点,这在带有大整数的Javascript中始终是一个问题所有时间似乎都是1000的倍数(可能是转换为毫秒的秒),因此,最后几位精度的损失可能并不重要。@Barmar这里的问题是我不知道时间是什么。好的一点,这在Javascript中总是一个大整数的问题。这些时间似乎都是1000的倍数(可能是转换为毫秒的秒数),所以最后几位精度的损失可能无关紧要。@Barmar这里的问题是我不知道时间是什么。