2704. 相等还是不相等

简介: 2704. 相等还是不相等

说在前面

🎈不知道大家对于算法的学习是一个怎样的心态呢?为了面试还是因为兴趣?不管是出于什么原因,算法学习需要持续保持。

题目描述

请你编写一个名为 expect 的函数,用于帮助开发人员测试他们的代码。它应该接受任何值 val 并返回一个包含以下两个函数的对象。

  • toBe(val) 接受另一个值并在两个值相等( === )时返回 true 。如果它们不相等,则应抛出错误 "Not Equal"
  • notToBe(val) 接受另一个值并在两个值不相等( !== )时返回 true 。如果它们相等,则应抛出错误 "Equal"

示例 1:

输入: func = () => expect(5).toBe(5)
输出: {"value": true}
解释: 5 === 5 因此该表达式返回 true。

示例 2:

输入: func = () => expect(5).toBe(null)
输出: {"error": "Not Equal"}
解释: 5 !== null 因此抛出错误 "Not Equal".

示例 3:

输入: func = () => expect(5).notToBe(null)
输出: {"value": true}
解释: 5 !== null 因此该表达式返回 true.

解题思路

接受一个值作为参数,并返回一个包含 toBe 和 notToBe 方法的对象。这些方法用于进行断言测试。

  • toBe(value) 方法用于判断给定的值是否与传入的参数相等。如果不相等,则抛出错误 “Not Equal”,否则返回 true。
  • notToBe(value) 方法用于判断给定的值是否与传入的参数不相等。如果相等,则抛出错误 “Equal”,否则返回 true。

AC代码

/**
 * @param {string} val
 * @return {Object}
 */
var expect = function (val) {
  return {
    toBe: (value) => {
      if (value !== val) throw "Not Equal";
      return true;
    },
    notToBe: (value) => {
      if (value === val) throw "Equal";
      return true;
    },
  };
};
/**
 * expect(5).toBe(5); // true
 * expect(5).notToBe(5); // throws "Equal"
 */

公众号

关注公众号『前端也能这么有趣』,获取更多有趣内容。

说在后面

🎉 这里是 JYeontu,现在是一名前端工程师,有空会刷刷算法题,平时喜欢打羽毛球 🏸 ,平时也喜欢写些东西,既为自己记录 📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解 🙇,写错的地方望指出,定会认真改进 😊,偶尔也会在自己的公众号『前端也能这么有趣』发一些比较有趣的文章,有兴趣的也可以关注下。在此谢谢大家的支持,我们下文再见 🙌。

目录
相关文章
|
2月前
|
Web App开发 JavaScript 前端开发
使用vue快速开发一个带弹窗的Chrome插件
使用vue快速开发一个带弹窗的Chrome插件
124 0
使用vue快速开发一个带弹窗的Chrome插件
|
2月前
|
安全 搜索推荐 前端开发
揭秘 HTTPS 加密协议:保护你的网上安全之道
揭秘 HTTPS 加密协议:保护你的网上安全之道
373 0
|
2月前
|
前端开发 JavaScript 算法
轻松实现数字格式化:JavaScript 中的千分位分隔技巧大揭秘
轻松实现数字格式化:JavaScript 中的千分位分隔技巧大揭秘
141 0
|
2月前
|
前端开发 算法 数据可视化
怎么在echarts图上左右滑动切换数据区间
怎么在echarts图上左右滑动切换数据区间
101 0
|
2月前
|
数据可视化
echarts图表坐标轴数据标签添加下划线
echarts图表坐标轴数据标签添加下划线
109 0
|
2月前
|
JavaScript 算法 前端开发
vue + echarts实现国省市三级下钻联动
vue + echarts实现国省市三级下钻联动
142 0
|
2月前
|
Web App开发 JavaScript 前端开发
从零开始,轻松打造个人化Chrome浏览器插件
从零开始,轻松打造个人化Chrome浏览器插件
108 0
|
2月前
|
前端开发 JavaScript 测试技术
30个前端和设计必备网站,让你的工作更轻松!
30个前端和设计必备网站,让你的工作更轻松!
264 0
|
2月前
|
存储 Web App开发 JavaScript
一键上传,无限容量!打造高效图床工具,利用Electron和Gitee搭建自己的私人云存储空间
一键上传,无限容量!打造高效图床工具,利用Electron和Gitee搭建自己的私人云存储空间
111 0
|
2月前
|
算法 前端开发 调度
贪心算法适用于解决什么类型的问题?
贪心算法适用于解决什么类型的问题?
82 1

热门文章

最新文章