【问题标题】:JS Object Mapping QuesionsJS 对象映射问题
【发布时间】:2021-09-22 10:07:35
【问题描述】:

我一直在尝试理解这部分代码:

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;
};

【问题讨论】:

    标签: javascript algorithm dictionary object data-structures


    【解决方案1】:

    地图是一个对象,并且

    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
    

    【讨论】:

    • 感谢您的回答!我可以把地图写成map['stack[stack.length-1]'] 吗?
    猜你喜欢
    • 1970-01-01
    • 2014-05-12
    • 2013-09-10
    • 2020-12-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2020-07-05
    • 2018-05-30
    相关资源
    最近更新 更多