BFE.dev is like a LeetCode for Front End developers. I’m using it to practice my skills.
This article is about the coding problem BFE.dev#20. Detect data type in JavaScript
Easy one
This is well-known trick in JavaScript - using Object.prototype.toString() to get the data type.
Nothing fancy, code is here
function detectType(data) {
  let type = ''
  const tag = Object.prototype.toString.call(data)  // '[object Undefined]'
  const matches = tag.match(/\[object (\S+)\]/)
  if (matches) {
    type = matches[1].toLowerCase()
  }
  const allowedTypes = new Set([
    'number',
    'null',
    'string',
    'undefined',
    'bigint',
    'symbol',
    'boolean',
    'array',
    'arraybuffer',
    'date',
    'function',
    'map',
    'set'
    ])
  if (allowedTypes.has(type)) {
    return type
  }
  return 'object'
}
Passed
This is a fairly simple problem.
Hope it helps, you can have a try at here


    
Top comments (0)