javascript - 如何将 DOM 节点数据集中的所有数字转换为 JavaScript 数字

标签 javascript

我使用 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/

相关文章:

javascript - 允许任何具有 sails 策略的人访问 API

javascript - 验证/事件-用js阻止表单提交的方法是什么?

javascript - 返回一个新数组,其中包含除第一个值之外的所有值,每个值加 7

javascript - 需要一个接受任何包含至少 3 个字母的文本的正则表达式

javascript - angularjs 数据未添加到服务中

javascript - 从kendo UI DataSource获取原始数据

javascript - 在 JavaScript 中使用数组

javascript - 我必须在 Node.js 中使用 Babel 吗?

javascript - 使用 ajax 时如何在 jQuery/JavaScript 中制作重定向页面?

javascript - 如何转义 JSON 字符串以将其包含在 URL 中?