数据类型检测—第十四届蓝桥杯(Web 应用开发)模拟赛 1 期-大学组

数据类型检测—第十四届蓝桥杯(Web 应用开发)模拟赛 1 期-大学组

几行代码,轻轻松松搞定~
点个关注叭~后续陆续更新蓝桥杯web应用开发,十三届省赛,国赛,模拟赛巧妙题解。
考到原型链对象,巧用constructor。

/**
 * @description: 数据类型检测
 * @param {*} data 传入的待检测数据
 * @return {*} 返回数据类型
 */
function getType(data) {
  // TODO:待补充代码
  if (typeof data != "object") return typeof data;
  if (!data) return "null";
  return data.__proto__.constructor
    .toString()
    .split(" ")[1]
    .replace("()", "")
    .toLowerCase();
}

module.exports = {
  getType,
};


题目介绍

介绍

在前端开发中,js 有各种各样的数据类型,数据类型检测是每个开发者都必须掌握基础知识。数据类型检测的方法也有很多种,本题将封装一个通用的数据类型检测函数。

目标

完善 main.jsgetType 函数中的 TODO 部分,返回传入值的对应数据类型。

传入值以及 getType 函数返回值(大小写可忽略)按照如下方式对应:

传入值 返回值
‘s’ string
0 number
false boolean
undefined undefined
Symbol() symbol
function fn(){} function
123n bigint
null null
{} object
[] array
new Date date
new Map map
new Set set
/a/ regexp

测试用例

// 示例
const testArr = [
  "s",
  0,
  false,
  undefined,
  Symbol(),
  function () {},
  123n,
  null,
  {},
  [],
  new Date(),
  new Map(),
  new Set(),
  /a/,
];
const result = testArr.map((item) => getType(item));
console.log("得到的结果:", result);
/*得到的结果: [    'string',  'number',    'boolean', 'undefined',    'symbol',  'function',    'bigint',  'null',    'object',  'array',    'date',    'map',    'set',     'regExp'  ]*/

你可能感兴趣的:(蓝桥杯,蓝桥杯,前端,javascript)