首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Js对象映射

Js对象映射
EN

Stack Overflow用户
提问于 2015-08-18 17:46:45
回答 2查看 86关注 0票数 0

什么是

代码语言:javascript
复制
var brackets = {
      '(': ')',
      '{': '}',
      '[': ']'
    };

从下面的代码做什么?你能给出使用中的这种物体的例子吗?我知道对象可以有方法和属性,但是将括号映射到相反的对象意味着什么呢?

代码语言:javascript
复制
// Use an object to map sets of brackets to their opposites
var brackets = {
  '(': ')',
  '{': '}',
  '[': ']'
};

// On each input string, process it using the balance checker
module.exports = function (string) {
  var stack = [];
  // Process every character on input
  for (var i = 0; i < string.length; i++) {
    if (brackets[stack[stack.length - 1]] === string[i]) {
      stack.pop();
    } else {
      stack.push(string[i]);
    }
  }

  return !stack.length;
};
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-18 17:58:29

代码语言:javascript
复制
var brackets = {
  '(': ')',
  '{': '}',
  '[': ']'
};

上面的代码是一个名为方括号的javaScript对象的定义。此对象有三个字符串字段,它们被设置为值。字段的名称恰好是'(‘','{','’和值恰好是‘),'}',’。

它们可能是:

代码语言:javascript
复制
var brackets = {
  'ABC': ')',
  'XYZ': '}',
  'BBC': ']'
};

我想你只是被变量的奇怪名字弄糊涂了。因为这是括号匹配代码,所以在本例中使用。

要使用这些字段,可以使用括号符号:

代码语言:javascript
复制
var test = brackets['('];  

它将为测试变量提供“)”的字符串值。

点记法:

代码语言:javascript
复制
brackets.(  

因为这是一个特殊的角色。更多信息在这里:difference between dot notation and bracket notation in javascript

票数 0
EN

Stack Overflow用户

发布于 2015-08-18 17:54:45

此代码检查所有开始括号是否在给定字符串中都有相应的结束括号。这是面试中常见的编码练习。出于某种原因,雇主希望雇佣具有良好谷歌技能的开发人员。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32079265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档