首页 > 解决方案 > 尝试将 json 值与局部变量相乘时的 NaN

问题描述

我正在尝试将对象的 JSON 值从几秒更改为几小时。问题是,当我尝试将它与我的本地常量相乘以进行转换时,它返回一个 NaN 值。

我已经尝试过使用 JSON.stringify(Json_value) 并没有帮助

const secToHours = '0,000277778';
const hourTime = secToHours*JSON.stringify(jsonData.duration);
logs = []
logs.push({"id":jsonData.id,"key":jsonData.issueKey, "date": dateFormatted, "duration": hourTime})
                var array = [{user:jsonData.userId, logs:logs}];
                console.log(array[0]);

This is the console output:
{
  user: 'XXXXX',
  logs: [ { id: XXXXX, key: 'XX-X', date: '2019-7-3', duration: NaN } ]
}

我不知道为什么它为乘法返回 NaN 值,如果我打印分隔的值,它们会返回相应的 const 值和 json 数据。

标签: javascriptnode.js

解决方案


0,000277778 不是有效的 JS 编号 - 您当地的约定可能使用逗号作为小数点,但 JS 需要一个点。

你不需要/不想使用JSON.stringifyon jsonData.duration 虽然我看不出你是否需要以其他方式操作它 - 它在哪里声明/它在第 2 行有什么值?


推荐阅读