对象解构取值

    1. let {a, b, c} = {a:1, b:2, c:3};
    2. console.log(a,b,c);

    合并数组【去重】

    1. let a = [1, 2, 3],
    2. b = [3, 4],
    3. c = [...new Set(a), ...new Set(b)];
    4. console.log(c);

    对象合并

    1. let o1 = {a:1},
    2. o2 = {b:2},
    3. o = {...o1, ...o2};
    4. console.log(o);

    获取属性值

    1. let obj = {a:1},
    2. a = obj?.a,//等价于 obj&&obj.a
    3. b =obj?.b;//等价于 obj&&obj.b
    4. console.log(a);
    5. console.log(b);

    输入框非空判断

    1. if((value??'')!= ''){/*todo...*/}
    2. /*等价于*/
    3. if(value != undefined && value != null && value != ''){/*todo...*/}

    对象多层嵌套,获取最底层val

    1. const input = {
    2. a: {
    3. x: {
    4. b: {
    5. cc: 'test1'
    6. }
    7. },
    8. y: {
    9. dd: 'test2'
    10. },
    11. z: 'ok'
    12. }
    13. };
    14. const output = str => {
    15. const index = str.split('.');
    16. return index.reduce((prev, cur) => {
    17. return prev[cur]
    18. },input)
    19. };
    20. output('a.x.b.cc');//test1

    数组分组

    1. function group(arr, step) {
    2. return arr.reduce((x, y) => {
    3. return x[x.length - 1].push(y) === step ? (idx !== arr.length-1 ? [...x, []] : [...x]) : [...x]
    4. }, [[]])
    5. }
    6. console.log(group([1,2,3,4,5,6,7], 4))