什么是
var brackets = {
'(': ')',
'{': '}',
'[': ']'
};从下面的代码做什么?你能给出使用中的这种物体的例子吗?我知道对象可以有方法和属性,但是将括号映射到相反的对象意味着什么呢?
// 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;
};发布于 2015-08-18 17:58:29
var brackets = {
'(': ')',
'{': '}',
'[': ']'
};上面的代码是一个名为方括号的javaScript对象的定义。此对象有三个字符串字段,它们被设置为值。字段的名称恰好是'(‘','{','’和值恰好是‘),'}',’。
它们可能是:
var brackets = {
'ABC': ')',
'XYZ': '}',
'BBC': ']'
};我想你只是被变量的奇怪名字弄糊涂了。因为这是括号匹配代码,所以在本例中使用。
要使用这些字段,可以使用括号符号:
var test = brackets['(']; 它将为测试变量提供“)”的字符串值。
点记法:
brackets.( 因为这是一个特殊的角色。更多信息在这里:difference between dot notation and bracket notation in javascript
发布于 2015-08-18 17:54:45
此代码检查所有开始括号是否在给定字符串中都有相应的结束括号。这是面试中常见的编码练习。出于某种原因,雇主希望雇佣具有良好谷歌技能的开发人员。
https://stackoverflow.com/questions/32079265
复制相似问题