【问题标题】:How to get datatype of an Object in Javascript? [duplicate]如何在 Javascript 中获取对象的数据类型? [复制]
【发布时间】:2020-12-18 19:23:33
【问题描述】:

我从这样的 URL 获得id。两者都是object。如果我像id[0] 一样识别它,那么它会给我数据类型String

但作为人类,我可以理解一个是String,另一个是Integer

如何用 JS Code 识别?

【问题讨论】:

  • ECMAScript 中有有限的types。语言无法识别您试图做出的区别,因此您必须开发自己的测试并应用它们。你试过什么?
  • “但作为人类,我可以理解一个是字符串,另一个是整数。” 不,它们都是字符串。其中一个字符串只包含数字,但这并不意味着它不是字符串。 (00501 [纽约的邮政编码之一] 也是一串数字,虽然如果将其写为数字,通常不会写那些前导零,但在处理时将它们排除在外是错误的它作为邮政编码。)

标签: javascript


【解决方案1】:

尝试解析为整数:

function roughScale(x, base) {
  const parsed = parseInt(x, base);
  if (isNaN(parsed)) { return 0; }
  return parsed * 100;
}

console.log(roughScale(' 0xF', 16));
// expected output: 1500

console.log(roughScale('321', 2));
// expected output: 0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt

【讨论】:

  • 请注意,这会为123blah 提供错误的结果。
  • 您还应该做什么?也许创建自己的解析器。我认为传递包含在字符串中的数字是一种不好的模式。
  • 不,您应该做的“其他事情”在dupetarget 中有描述。
  • 我很抱歉,但该帖子的投票最多的答案利用了 parseFloat(这里用户提到了“整数”,但它是一样的)。请问区别在哪里?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-05
  • 1970-01-01
  • 2021-05-24
  • 1970-01-01
  • 2019-07-07
  • 1970-01-01
  • 2021-01-19
相关资源
最近更新 更多