100求和递归写法

  1. // 递归
  2. function add(num1,num2){
  3. var num = num1+num2;
  4. if(num2+1>100){
  5. return num;
  6. }else{
  7. return add(num,num2+1)
  8. }
  9. }
  10. var sum =add(1,2);

数组扁平化

  1. flat

    1. arr.flat(Infinity)
  2. 正则 + replace() + JSON.stringify()

    1. let str = JSON.stringify(arr);
    2. console.log(str, 11);
    3. //=>第一种处理
    4. // console.log(str);//=>[1,[2,[3,[4,5]]],6]
    5. // ary = str.replace(/(\[|\])/g, '').split(','); //split():用','来分割,返回一个分割之后的数组
    6. // console.log(ary);
    7. //=>第二种处理
    8. str = str.replace(/(\[|\])/g, ''); //replace 是字符串的方法,所以必须先 JSON.stringify()
    9. console.log(str, 22);
    10. str = '[' + str + ']';
    11. ary = JSON.parse(str);
    12. console.log(ary);
  3. 递归

    1. let fn = function flatten(arr) {
    2. return [].concat(
    3. ...arr.map(x => Array.isArray(x) ? flatten(x) : x)
    4. )
    5. }
    6. console.log(fn(arr))