在JS中,我们可以通过乘以1将带有数字的字符串转换为实际数字,如下所示:
'0'*1 //= 0
但不幸的是,像'null', 'true', 'false'
这样的字符串的类似技巧不起作用:
'false'*0 //= NaN
!!'false' //= true
在JS中进行此类转换的最佳方式是什么?有没有本地方法呢?
答案 0 :(得分:1)
您可以使用JSON.parse转换它们
JSON.parse('false') // false
JSON.parse('true') // true
JSON.parse('null') // null
这不适用于undefined
或NaN
但
答案 1 :(得分:1)
您可以使用具有各种类型的对象,并将其用作检查和值存储。
<table width="100%" border="1" rules="cols" style="border-collapse : collapse;border-bottom:none">
<tr>
<td align="center" width="54%" style="border : solid thin;">Courses</td>
<td align="center" width="23%" style="border : solid thin;">CGPA</td>
<td align="center" width="23%" style="border : solid thin;">Credit</td>
</tr>
<tr>
<td>English Language Course</td>
<td align="center">8.1</td>
<td align="center">19</td>
</tr>
<tr>
<td>Additional Language Course<br> French</td>
<td align="center">8.1</td>
<td align="center">19</td>
</tr>
<tr>
<td>Foundation Course</td>
<td align="center">8.1</td>
<td align="center">19</td>
</tr>
<tr>
<td>Core Course<br>Physics<br> Physics</td>
<td align="center">8.1</td>
<td align="center">19</td>
</tr>
<tr>
<td>Complementary Course(s) <br> Mathematics <br> Chemsitry </td>
<td align="center">8.1</td>
<td align="center">19</td>
</tr>
<tr>
<td style="border-bottom : none;">Open Course <br> Operations Research</td>
<td align="center" style="border-bottom : solid thin;">8.1</td>
<td align="center" style="border-bottom : solid thin;">19</td>
</tr>
<tr height="35px">
<td></td>
<td align="center" colspan="2" style="border-bottom:solid thin">Semester wise SCPA</td>
</tr>
</table>
<table width="100%">
<tr>
</tr>
</table>
&#13;
答案 2 :(得分:0)
只需编写明显的代码即可。 (ES6中的示例代码。根据需要进行调整,或使用Babel或TypeScript。)
const f = x => {
if (x === 'true') { return true }
if (x === 'false') { return false }
if (x === 'null') { return null }
return undefined
}
如果您正在处理JSON输入,请使用JSON.parse
。