记录在公众号,或者开发过程中遇到的一些有意思的代码片段
1、创建一个函数来判断给定的表达式中的大括号是否闭合,返回 True/False,对于空字串,返回 True
1 | function isBalanced(exp){ |
2、实现函数 isBalanced,用 true 或 false 表示给定的字符串的括号是否平衡(一一对应)。注意了是要支持三种类型的括号{},[],和()。带有交错括号的字符串应该返回 false
1 | const isBalanced = str => { |
3、再次扩充一下这道题目。要求严格限制括号的顺序,即中括号外围只能是大括号,内部只能是小括号。也即:括号只能以大括号、中括号、小括号的顺序只能前面的包含后面的,不能后面的包含前面的
1 | const isStrictBalanced= str => { |
4.快速过滤掉数据的假值
1 | const compact = arr => arr/filter(Boolean) |
5.双位运算符~~
对正数来说替代Math.floor()
1 | ~~4.9 === 4 //true |
对负数来说替代Math.ceil()
1 | ~~-4.9 === -4 //true |
6.取整|0
,效果跟~~
一样
1 | 1.3|0 //1 |
7.判断奇偶&1
1 | !!(3&1)//true |
遍历到为 true
1 | let obj={'key1':'v1','key2':'v2','key3':'v3','key0':'v0'}; |