JS 对象映射问题
JS Object Mapping Quesions
我一直在努力理解这部分代码:
if(stack.length > 0 && map[stack[stack.length - 1]] === s[i])
在第 9 行。“map[stack[stack.length-1]]”是什么意思?起初我以为地图是一个对象,但我认为你应该在属性周围添加“”标记。 map是一种数据结构吗?如果是,我该如何使用这个数据结构?
var stack = [];
var len = s.length;
var map = {
'(': ')',
'[': ']',
'{': '}',
};
for(var i = 0; i<len; i++){
if(stack.length > 0 && map[stack[stack.length - 1]] === s[i]) {
stack.pop();
}else{
stack.push(s[i]);
}
}
return stack.length === 0;
};
地图是一个对象并且
map[stack[stack.length - 1]]
是 'map' 的 属性,其中键是数组堆栈的最后一个元素的值。
由于可以通过这两种方式访问对象的属性
const object = {
"property1" : value1,
"property2" : value2,
}
object.property1 == object['property1']; // is true
object.property2 == object['property2']; // is also true
我一直在努力理解这部分代码:
if(stack.length > 0 && map[stack[stack.length - 1]] === s[i])
在第 9 行。“map[stack[stack.length-1]]”是什么意思?起初我以为地图是一个对象,但我认为你应该在属性周围添加“”标记。 map是一种数据结构吗?如果是,我该如何使用这个数据结构?
var stack = [];
var len = s.length;
var map = {
'(': ')',
'[': ']',
'{': '}',
};
for(var i = 0; i<len; i++){
if(stack.length > 0 && map[stack[stack.length - 1]] === s[i]) {
stack.pop();
}else{
stack.push(s[i]);
}
}
return stack.length === 0;
};
地图是一个对象并且
map[stack[stack.length - 1]]
是 'map' 的 属性,其中键是数组堆栈的最后一个元素的值。 由于可以通过这两种方式访问对象的属性
const object = {
"property1" : value1,
"property2" : value2,
}
object.property1 == object['property1']; // is true
object.property2 == object['property2']; // is also true