从JavaScript中返回的日期时间中删除NaN [英] Removing NaN from date time returned in javascript
问题描述
我正在研究yii2
.在我的JavaScript中,我有一个公式,可以通过该公式获取一些数据.然后将数据传递到图表,然后图表将其呈现.
I am working on yii2
. In my javascript, I have a formula through which I am getting some data. The data is then passed to chart and chart renders it.
var arry_kwh = [];
arry_kwh = <?php echo json_encode($dataPointskWh, JSON_NUMERIC_CHECK); ?>;
var arry_kwh_diff = [];
var i = 0;
for (; i < arry_kwh.length - 1; i++) {
arry_kwh_diff[i] = {
label: arry_kwh[i].label + ((arry_kwh[i + 1].label - arry_kwh[i].label) / 2),
y: (arry_kwh[i + 1].y - arry_kwh[i].y)
};
}
console.log(JSON.stringify(arry_kwh_diff, null, 2));
返回的日志是
[
{
"label": "2020-04-01 11:44:13NaN",
"y": 50
},
{
"label": "2020-04-01 11:45:49NaN",
"y": 25
},
{
"label": "2020-04-01 13:11:24NaN",
"y": 25
},
{
"label": "2020-04-02 10:19:08NaN",
"y": 50
},
{
"label": "2020-04-02 11:24:38NaN",
"y": 50
},
{
"label": "2020-04-04 12:24:38NaN",
"y": 100
},
{
"label": "2020-04-05 13:49:38NaN",
"y": 50
},
{
"label": "2020-04-05 14:36:38NaN",
"y": 100
},
{
"label": "2020-04-05 14:24:38NaN",
"y": 50
},
{
"label": "2020-04-08 09:20:41NaN",
"y": 35
},
{
"label": "2020-04-08 10:09:38NaN",
"y": 55
},
{
"label": "2020-04-08 11:35:33NaN",
"y": 35
},
{
"label": "2020-04-08 13:24:38NaN",
"y": 50
}
]
$dataPointskWh
具有
Array ( [0] => Array ( [label] => 2020-04-01 11:44:13 [y] => 100 ) [1] => Array ( [label] => 2020-04-01 11:45:49 [y] => 150 ) [2] => Array ( [label] => 2020-04-01 13:11:24 [y] => 175 ) [3] => Array ( [label] => 2020-04-02 10:19:08 [y] => 200 ) [4] => Array ( [label] => 2020-04-02 11:24:38 [y] => 250 ) [5] => Array ( [label] => 2020-04-04 12:24:38 [y] => 300 ) [6] => Array ( [label] => 2020-04-05 13:49:38 [y] => 400 ) [7] => Array ( [label] => 2020-04-05 14:36:38 [y] => 450 ) [8] => Array ( [label] => 2020-04-05 14:24:38 [y] => 550 ) [9] => Array ( [label] => 2020-04-08 09:20:41 [y] => 600 ) [10] => Array ( [label] => 2020-04-08 10:09:38 [y] => 635 ) [11] => Array ( [label] => 2020-04-08 11:35:33 [y] => 690 ) [12] => Array ( [label] => 2020-04-08 13:24:38 [y] => 725 ) [13] => Array ( [label] => 2020-04-08 17:12:35 [y] => 775 ) )
如何从日期时间删除NaN
?我已经调查了这个问题,但找不到任何解决方案.
How can I remove NaN
from date-time? I have looked into this issue but couldn't find any solution.
任何帮助将不胜感激.
推荐答案
您可以通过映射label
属性并删除最后 3 个字符
You can easily do it by mapping the label
attribute and remove the last 3 characters
像这样
data = data.map(el => el.label.substr(0, el.label.length - 3))
通知:如果所有对象在行尾都具有 NaN ,则建议第一个答案,否则请使用第二个解决方案
Notice: it is recommended the first answer in case of that all objects have NaN at the end of line otherwise use the second solution
或通过另一种方式,您可以使用""
replace
NaN
像这样的人
or by another way, you can replace
NaN with ""
like this one
data = data.map(el => el.label.replace('NaN', ''))
这篇关于从JavaScript中返回的日期时间中删除NaN的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!