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

目录
相关文章
|
运维 安全 Java
上古神器WireGuard异地高效率组网
相信很多的工作者、极客玩家或者学生党在项目开发以及发布的时候会遇到云上服务器资源不够(包括内存不够、磁盘不够等等),而我们可能由于一些问题,无法升级云服务器的配置,这样的场景就很尴尬对吧?现在的确有许多的像netapp、以及zerotier这样的内网穿透的存在,但是存在一个问题就是不安全,路由网关并不是在我们自己机器上,而且这些市面的望穿也有高效的方法但是要用money,苦于囊中羞涩,这时候WireGuard就可以很好提供高性能的内网穿透能力。
11412 10
上古神器WireGuard异地高效率组网
|
安全 Java 编译器
关于线程安全问题
关于线程安全问题
202 0
|
2天前
|
云安全 人工智能 自然语言处理
AI说的每一句话,都靠谱吗?
阿里云提供AI全栈安全能力,其中针对AI输入与输出环节的安全合规挑战,我们构建了“开箱即用”与“按需增强”相结合的多层次、可配置的内容安全机制。
|
6天前
|
存储 人工智能 安全
AI 越智能,数据越危险?
阿里云提供AI全栈安全能力,为客户构建全链路数据保护体系,让企业敢用、能用、放心用
|
9天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
3天前
|
消息中间件 安全 NoSQL
阿里云通过中国信通院首批安全可信中间件评估
近日,由中国信通院主办的 2025(第五届)数字化转型发展大会在京举行。会上,“阿里云应用服务器软件 AliEE”、“消息队列软件 RocketMQ”、“云数据库 Tair”三款产品成功通过中国信通院“安全可信中间件”系列评估,成为首批获此认证的中间件产品。此次评估覆盖安全可信要求、功能完备性、安全防护能力、性能表现、可靠性与可维护性等核心指标,标志着阿里云中间件产品在多架构适配与安全能力上达到行业领先水平。
303 192
|
3天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
357 167