迅雷笔试

迅雷笔试

// 各种括号匹配
function main(parens) {
    var parensArr = parens.split('');
    var stack = [];
    for(var i = 0; i < parensArr.length; i ++) {
        switch (parensArr[i]) {
            case '(':
            case '{':
            case '[':
            case '<':
                stack.push(parensArr[i]);
                break;
            case ')':
            case '}':
            case ']':
            case '>':
                if(stack.length === 0 || !isMatch(parensArr[i])) {
                    return false;
                };
                break;
            default:
                break;
        }
    }
    return stack.length === 0 ? true : false;

    function isMatch(str) {
        var popStr = stack.pop();
        var leftStr = '';
        switch (str) {
            case ')':
                leftStr = '(';
                break;
            case '}':
                leftStr = '{';
                break;
            case ']':
                leftStr = '[';
                break;
            case '>':
                leftStr = '<';
                break;
            default:
                break;
        }
        return popStr === leftStr ? true : false
    }
}
// 数组去重
// es5:
Array.prototype.unique = function () {
    return this.filter(function (value, index, arr) {
        return arr.indexOf(value) === index;
    })
}
// es6:
Array.prototype.unique = function () {
    return [...new Set(this)]
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容