我使用 data
属性在 DOM 节点中存储字符串和数字,并使用 JavaScript 读取它们。不幸的是,数据集中的所有值都保存为字符串。那么将它们转换为数字但保留字符串的最佳方法是什么。
html:
<input data-minvalue="10" data-startcolor="#00ee00"/>
预期结果:
{
minvalue: 10,
startcolor:'#00ee00'
}
编辑:
- 它必须与 int 和 float 一起使用
- 不应转换“12_test”
- 应转换“.3”
最佳答案
在值前面添加 +
,这会将其本地转换为数字并保留诸如 12_test
之类的内容,而 parseFloat
则不会。如果结果为NaN
,则改为保护字符串。
function kittenBaloon(str) {
var num = +str;
if(isNaN(num)) {
return str;
} else {
return num;
}
}
console.log(kittenBaloon('12_test'));
console.log(kittenBaloon('.3'));
console.log(kittenBaloon('#00ee00'));
关于javascript - 如何将 DOM 节点数据集中的所有数字转换为 JavaScript 数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13068620/