SOURCE

// function getKebabCase ( str ) {
//  var arr = str.split('');
//     str = arr.map(function ( item ){
//         if( item.toUpperCase() === item ){
//             return '-' + item.toLowerCase();
//         }else{
//             return item;
//         }
//     }).join( '' );
//     return str;
// }
// console.log( getKebabCase( 'abcDefGhi' ) );

// Array.prototype.myFlat = function(deep = 1) {
//   let arr = this
//   return deep > 0 ? arr.reduce((prev, next) => {
//    return (prev.concat(Array.isArray(next) ? next.flat(deep - 1) : next))
//   },[]) : arr
// }

// console.log(arr1.myFlat(2));

// Array.from(new Set(arr))


//原生
let arr1 = [1, 2, 3, [1, 2, 3, 4, [2, 3, 4,5]]];
// Array.prototype.flatUnique = function (deep = 1) {
//     let arr = this
//     if (deep > 0) {
//         return Array.from(new Set(
//             arr.reduce((prev, next) => {
//                 return (prev.concat(Array.isArray(next) ? next.flat(deep - 1) : next))
//             }, [])
//         ))
//     } else {
//         return arr
//     }
// }
// console.log(arr1.flatUnique(2));

//递归
const flatten = (arr) => {
  let result = [];
  arr.forEach((item, i, arr) => {
    if (Array.isArray(item)) {
      result = result.concat(flatten(item));
    } else {
      result.push(arr[i])
    }
  })
  return result;
};
console.log(flatten(arr1));
console 命令行工具 X clear

                    
>
console