首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何检查字符串在JavaScript中是否具有相同数量的"(“,且前面有相应的")”

在JavaScript中,我们可以使用栈的概念来检查字符串中是否具有相同数量的 "(" 和 ")",且前面有相应的 ")"。

栈是一种数据结构,它遵循先进后出的原则。我们可以遍历字符串的每个字符,将遇到的 "(" 压入栈中,而遇到的 ")" 则将栈顶的 "(" 出栈。最后,如果栈为空,则说明字符串中具有相同数量的 "(" 和 ")",且前面有相应的 ")"。如果栈不为空,则说明字符串中有多余的 "(" 或者没有相应的 ")"。

以下是一个使用栈来检查字符串的示例代码:

代码语言:txt
复制
function checkParentheses(str) {
  const stack = [];

  for (let i = 0; i < str.length; i++) {
    if (str[i] === '(') {
      stack.push('(');
    } else if (str[i] === ')') {
      if (stack.length === 0) {
        return false;  // 缺少相应的 "("
      }
      stack.pop();
    }
  }

  return stack.length === 0;  // 栈为空则说明字符串中具有相同数量的 "(" 和 ")",且前面有相应的 ")"
}

const str1 = '(((abc)))';
console.log(checkParentheses(str1));  // 输出 true

const str2 = '((abc)';
console.log(checkParentheses(str2));  // 输出 false,缺少相应的 ")"

这里推荐使用腾讯云的云函数(Cloud Function)来运行上述代码。云函数是一种无需搭建服务器即可运行代码的服务,适合于处理轻量级的计算任务。你可以在腾讯云云函数产品页面了解更多信息:腾讯云云函数

注意,以上只是一种实现方式,可能还有其他方法来解决这个问题。此处只提供了一个参考答案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

一文带你彻底搞懂Java和JavaScript区别与相似之处(纯干货建议收藏)

什么是 JavaScriptJavaScript 是一种轻量级高级脚本编程语言,通常用于使网页具有动态性和交互性。它可以将动态文本添加到 HTML ,并以浏览器语言而闻名。... JavaScript ,我们简单地使用语句 console.log 控制台上打印任何内容(一个提供对浏览器调试控制台访问对象)。...简而言之,您可以以下情况下查看它: 1.你右击鼠标 2.点击检查 3.选择控制台选项卡 4.控制台查看记录语句 现在告诉我,和Java相比,它要容易多少?...代码执行: Java 应用程序具有 JVM(Java 虚拟运行时环境)上运行灵活性,而 JavaScript仅在特定于浏览器特定于应用程序环境运行。...对象: Java 对象纯粹是基于类,而 JavaScript 对象是基于原型。 类型检查: Java 确保在编译对其变量和函数进行强类型检查,这使得运行或编译时运行概率非常低。

4.7K21

一道二进制子串算法,让面试官都解不出来?

算法题目: 给定一个字符串 s ,计算具有相同数量0和1非空(连续)子字符串数量,并且这些子字符串所有0和所有1都是组合在一起。 重复出现 子串要计算它们出现次数。...示例1: 输入:"00110011" 输出:6 解释:有6个子串具有相同数量连续1和0: “0011”,“01”,“1100”,“10”,“0011”,“01”。...示例2: 输入:“10101” 输出:4 解释:有4个子串,“10”,“01”,“10”,“01”,它们具有相同数量连续1和0。...s 给都是二进制数,要求计算具有相同数量 0 和 1 非空(连续)子字符串数量,这句话里面的条件有三个: 第一 不为空,非空(连续) 第二 0 和 1 是要相同数量 第三 0 和 1 要是连续出现字符串数量...然后我们给定一个字符串数字,“00110011”,我们需要循环这个字符串数字,比较前一个数字和后一个数字是否相等,如果相等,是什么情况呢?如:00或者是11情况下,当前数cur就要加1。

58030
  • 一道二进制子串算法,让面试官都解不出来?

    算法题目: 给定一个字符串 s ,计算具有相同数量0和1非空(连续)子字符串数量,并且这些子字符串所有0和所有1都是组合在一起。 重复出现 子串要计算它们出现次数。...示例1: 输入:“00110011” 输出:6 解释:有6个子串具有相同数量连续1和0: “0011”,“01”,“1100”,“10”,“0011”,“01”。...示例2: 输入:“10101” 输出:4 解释:有4个子串,“10”,“01”,“10”,“01”,它们具有相同数量连续1和0。...s 给都是二进制数,要求计算具有相同数量 0 和 1 非空(连续)子字符串数量,这句话里面的条件有三个: 第一 不为空,非空(连续) 第二 0 和 1 是要相同数量 第三 0 和 1 要是连续出现字符串数量...然后我们给定一个字符串数字,“00110011”,我们需要循环这个字符串数字,比较前一个数字和后一个数字是否相等,如果相等,是什么情况呢?如:00或者是11情况下,当前数cur就要加1。

    44230

    学Java到底学什么

    数据类型char,int,float,boolean和double称为原始类型,而Java对于这些类型都有相应对象。例如,int具有Integer;布尔值具有布尔值,依此类推。字符串是一个对象。...条件 就像我们在上面看到那样,“ if”是一种条件,可以测试某些东西是否准确并相应地返回结果。它通常与else if和else语句结合使用,可以处理多种情况。...我们得到第一件事是需要为其存储信息司机数量。然后,我们创建一个相同长度数组,循环遍历,实例化循环中每个对象,并使用构造函数或setter方法设置值。...这些通常是使用JavaScript客户端完成,但可以禁用JavaScript。作为开发人员,我们也需要在我们这边进行验证。...学习Java全部目的是创建交互式,快速健壮Web应用程序。如果您已经具有IDE设置,则只需将J2EE组件安装到IDE即可。 阅读此博客以了解J2EE如何帮助构建可扩展健壮Web应用程序。

    94231

    TypeScript手记(三)

    只要传入对象满足上面提到必要条件,那么它就是被允许。 还有一点值得提是,类型检查器不会去检查属性顺序,只要相应属性存在并且类型也是对就可以。 可选属性 接口里属性不全都是必需。...有些是只某些条件下存在,或者根本不存在。例如给函数传入参数对象只有部分属性赋值了。...可索引类型具有一个 索引签名,它描述了对象索引类型,还有相应索引返回值类型。...它不会帮你检查是否具有某些私有成员。 类静态部分与实例部分区别 当你操作类和接口时候,你要知道类是具有两个类型:静态部分类型和实例类型。...ClockConstructor 类型, createClock(AnalogClock, 7, 32) 里,会检查 AnalogClock 是否符合构造函数签名。

    90220

    哈希函数如何工作 ?

    我们将从查看一个简单哈希函数开始,然后我们将学习如何测试哈希函数是否好用,然后我们将查看哈希函数实际使用:哈希映射。 什么是哈希函数? 哈希函数是接受输入(通常是字符串)并生成数字函数。...由于输入可以是任何字符串,但返回数字某个承诺范围内,因此两个不同输入可能会返回相同数字。这称为“冲突”,好哈希函数会尝试尽量减少它们产生冲突数量。 但完全消除碰撞是不可能。...每次我们对一个值进行哈希处理时,我们都会使其网格上相应方块变暗一点。这个想法是创建一种简单方法来查看哈希函数如何避免冲突。我们正在寻找是一个良好、均匀分布。...然而,我们 murmur3 网格看起来与随机值网格相同。 如果我们对 1,000 个最常见英语单词进行哈希处理,效果如何: 它更微妙,但我们确实在 stringSum 网格上看到了一种模式。...为什么所有这些乱码字符串都会散列到相同数字? 我对 141 万亿个随机字符串进行哈希处理,以找到使用 murmur3 时哈希到数字 1228476406 值。

    24730

    JavaScript-数据类型

    数据类型 JavaScript 具有一个值:null。...5.3 初始化为null 如果定义变量准备将来用于保存对象,那么最好将该变量初始化为null而不是其他值。这样一来,只要直接检测null值就可以知道相应变量是否已经保存了一个对象引用。 ?...包含小数点小数点前面有单个“0”数字被解释为十进制浮点数。...九、String(字符串JavaScript字符串类型用于表示文本数据。 9.1 索引和长度 String是一组16位无符号整数值“元素”。字符串每个元素占据了字符串位置。...第一个元素索引为0,下一个是索引1,依此类推。字符串长度是它元素数量。 9.2 不可更改 不同于类 C 语言,JavaScript 字符串是不可更改。这意味着字符串一旦被创建,就不能被修改。

    90820

    前端必备,25个最基本JavaScript面试问题及答案

    尽管 typeof bar === "object" 是检查 bar 是否对象可靠方法,令人惊讶JavaScript null 也被认为是对象!...如果传递参数数量大于函数定义参数数量,那么多余参数将简单地被忽略。另一方面,如果传递参数数量小于函数定义参数数量,那么缺少参数函数中被引用时将会给一个 undefined值。...所以,在上面的例子,简单地检查第2个参数是否未定义,就可以相应地确定函数被调用以及进行方式。...例3: 1 + -"1" + "2" 输出: "02" 说明:这里解释和一个例子相同,除了此处一元运算符是 - 而不是 +。...因此,本例,由于 x未在函数内部定义,因此在外部函数范围搜索定义变量 x,被发现具有1值。

    93230

    WEB安全性测试

    具体来说,它是利用现有应用程序,将(恶意)SQL命令注入到后台数据库引擎执行能力,它可以通过Web表单输入(恶意)SQL语句得到一个存在安全漏洞网站上数据库,而不是按照设计者意图去执行SQL...WEB日志   如何查看自己服务器日记?   ...接口测试大体分为两类:模块接口测试和web接口测试   模块接口测试是单元测试基础。它主要测试模块调用与返回。   1、检查接口返回数据是否与预期结果一致。   ...2、检查接口容错性,假如传递数据类型错误时是否可以处理。例如上面的例子是支持整数,传递是小数或字符串呢?   3、接口参数边界值。例如,传递参数足够大或为负数时,接口是否可以正常处理。   ....JSON缺点   A.没有XML格式这么推广深入人心和喜用广泛,没有XML那么通用性;   B.JSON格式目前Web Service推广还属于初级阶段。

    1.4K40

    14万字 | 400多道JavaScript 面试题及详细答案(建议收藏)

    120 你如何检查一个字符串是否包含一个子字符串? 121 你如何javascript 验证电子邮件? 122 你如何使用 javascript 获取当前 url?...123 location对象各种url属性是什么? 124 如何javascript获取查询字符串值? 125 如何检查对象是否存在键?...131 你如何javascript显示当前日期? 132 你如何比较两个日期对象? 133 你如何检查一个字符串是否以另一个字符串开头? 134 你如何javascript修剪字符串?...严格运算符考虑变量类型,而非严格运算符根据变量值进行类型校正/转换。严格运算符遵循以下不同类型条件, 当两个字符串具有相同字符序列、相同长度以及相应位置相同字符时,它们是严格相等。...一个纯函数是返回值是由它参数没有任何副作用只有确定函数。即如果您在应用程序调用具有相同参数 ‘n’ 次和 ‘n’ 个位置函数,则它将始终返回相同值。

    12.7K20

    JS对象那些事儿

    JavaScript,将对象视为包含元素项列表,并且列表每个项(属性或方法)都由内存键值对存储。 让我们看一个对象例子。 ?...对象只能包含一个具有一个值键,也就是说同一个键只能有一个值。 属性名称可以是字符串,数字或特殊字符,也可以是动态属性,但如果属性名称不是字符串,则必须使用括号表示法访问它。...返回 [key, value] 为元素二维数组 ? 从输出结果看,上面的属性顺序是不固定如何检查对象属性是否存在 有三种方法可以检查对象是否存在属性。 1....注意:hasOwnProperty仅检查当前对象属性,而 in 运算符检查当前+父属性 3. 使用自定义功能 有多种方式可以通过自定义方法检查属性是否存在。其中一个是通过 Object.keys。...newObj.b 和 obj.b共享对象相同引用,没有制作单独副本,而是复制了对象引用。 Deep copy,新对象将拥有自己一组键值对(与原始对象具有相同值)而不是共享。

    2.4K10

    忍者级别的操作JavaScript函数

    我们需要知道是,对于JavaScript而言,匿名函数是一个很重要具有逻辑性特性。通常,匿名函数使用情况是:创建一个供以后使用函数。 简单举个例子如下: ?...关于函数执行上下文,以及prototype一些说明,将在后续文章写到。 可变函数参数列表 JavaScript灵活强大特性之一是函数可以接受任意数量参数。...但是javascript并非如此,javaScript,我们重载函数时候只有一个实现。只不过这个实现内部是通过函数实际传入参数特性和个数来达到相应目的。 ?...通过如上代码,我们将传递给函数对象都合并到一个对象javascript,没有强制函数声明多少个参数就得穿入多少个参数。函数是否可以成功处理这些参数,完全取决于函数本身定义。...重新调用该函数时候将在此检查参数个数是否为0 这种调用方式类似于剥洋葱,每一层都检查参数个数是否匹配。这里一个技巧是关于内部匿名函数是否合访问到old和fn

    66631

    JavaScript 权威指南第七版(GPT 重译)(二)

    4.9.1 相等和不等运算符 == 和 === 运算符检查两个值是否相同,使用两种不同相同定义。...=== 运算符被称为严格相等运算符(有时称为身份运算符),它使用严格相同定义来检查其两个操作数是否相同”。...如果两个不同对象具有相同数量属性,具有相同名称和值,则它们仍然不相等。同样,具有相同顺序相同元素两个数组也不相等。...要检查值x是否为NaN,请使用x !== x或全局isNaN()函数。) 如果两个值都是数字具有相同值,则它们是相等。如果一个值是0,另一个是-0,它们也是相等。...如果两个值都是字符串包含完全相同 16 位值(参见§3.3 侧边栏)位置相同,则它们是相等。如果字符串长度或内容上有所不同,则它们不相等。

    52710

    JavaScript基本知识点——带你逐步解开JS神秘面纱

    JavaScript基本知识点——带你逐步解开JS神秘面纱 我们前面的文章已经深入学了HTML和CSS,在网页设计我们已经有能力完成一个美观网页框架 但仅仅是网页框架不足以展现出网页魅力,...但一般情况下我们无法HTML文件检查到错误 所以我们一般HTML文件打开网站中进行JavaScript调试和错误修改以及提醒 下面我以图片形式展示JavaScript浏览器控制调试顺序:...严格检查模式(ES6专属): 之间第一行加上"use strict" 进入严格检查模式后,你部分不规整代码将会被检测,但错误无法完全检测 JavaScript数据类型 JavaScript是一种面向对象编程语言...(1-2/3) 运算结果为false 我们通常通过 Math.abs(1/3 - (1-2/3) < 0.000001)来判断浮点数是否相同 特殊类型 JavaScript存在两种特殊类型: null...(n) 返回一个从n到最后字符串 str.subString(n,m) 返回一个字符串(n,m]字符串 JavaScript数组详解 JavaScript数组可以结合各种类型数值 JavaScript

    89020

    TypeScript是什么,为什么要使用它?

    是否能通过JavaScript创建大型复杂Web应用系统呢?可能那么容易。 不过值得庆幸是,我们还有一个解决方案TypeScript。 在过去几年中,TypeScript受欢迎程度一直增长。...什么是类型,它们TypeScript如何工作? JavaScript与TypeScript:选择哪一个?...简而言之,TypeScript是JavaScript超集,具有可选类型并可以编译为纯JavaScript。从技术上讲TypeScript就是具有静态类型 JavaScript 。 ?...什么是类型,它们TypeScript如何工作? 类型简介 类型是我们运行程序之前通过代码描述我们计划如何使用数据来区分正确程序方法。...每当你想要转义类型时,any都允许你将任何JavaScript变量赋给它。它经常用于对尚未检查类型未知传入变量时。

    1.6K20

    普林斯顿算法讲义(三)

    有向图 G 传递闭包是另一个有向图,具有相同顶点集,但如果仅当在 G 从 v 到 w 可达时,有一条从 v 到 w 边。...展示如何确定一个跳棋在当前移动是否可以变成国王。(使用 BFS 或 DFS。)展示如何确定黑方是否有获胜着法。(找到一个有向欧拉路径。) 优先附着模型。 网络具有无标度特性,并遵循幂律。...子类型检查。 给定单继承关系(一棵树),检查 v 是否是 w 祖先。提示:v 是 w 祖先当仅当 pre[v] = post[w]。 子类型检查。...(Bentley-Sedgewick)给定一个输入集,无论字符串插入顺序如何,其 TST 节点数都是相同。 证明。集合,TST 每个不同字符串前缀都有一个唯一节点。...如何修改拉宾卡普算法以确定文本是否存在 k 个模式子集中任何一个(比如,所有长度相同)? 解决方案。 计算 k 个模式哈希值,并将哈希值存储一个集合

    15310

    JavaScript 面试必备基础知识梳理(71个知识点)

    数字类型 要写有很多零数字: 将 "e" 和 0 数量附加到数字后。就像:123e6 与 123 后面接 6 个 0 相同。 "e" 后面的负数将使数字除以 1 后面接着给定数量数字。...要将 12pt 和 100px 之类值转换为数字: 使用 parseInt/parseFloat 进行“软”转换,它从字符串读取数字,然后返回发生 error 可以读取到值。...从嵌套数组/对象中提取数据也是可以,此时等号左侧必须和等号右侧有相同结构。 24. 日期和时间 JavaScript ,日期和时间使用 Date[16] 对象来表示。...大多数标准 HTML 特性(attribute)都具有相应 DOM 属性。 59....事件委托 它通常用于为许多相似的元素添加相同处理,但不仅限于此。 算法: 容器(container)上放一个处理程序。 处理程序 —— 检查源元素 event.target。

    1.2K10

    面试必备 JavaScript 基础知识梳理总结

    数字类型 要写有很多零数字: 将 "e" 和 0 数量附加到数字后。就像:123e6 与 123 后面接 6 个 0 相同。 "e" 后面的负数将使数字除以 1 后面接着给定数量数字。...要将 12pt 和 100px 之类值转换为数字: 使用 parseInt/parseFloat 进行“软”转换,它从字符串读取数字,然后返回发生 error 可以读取到值。...从嵌套数组/对象中提取数据也是可以,此时等号左侧必须和等号右侧有相同结构。 24. 日期和时间 JavaScript ,日期和时间使用 Date[16] 对象来表示。...大多数标准 HTML 特性(attribute)都具有相应 DOM 属性。 [ 59....事件委托 它通常用于为许多相似的元素添加相同处理,但不仅限于此。 算法: 容器(container)上放一个处理程序。 处理程序 —— 检查源元素 event.target。

    80720
    领券