Recursive process of using two prerequisites: 1 . To recursion conditions. 2 . Recursive end condition. EG: var thisArr = function (ARR) { var new_arr = []; for ( var I = 0; I <arr.length; I ++ ) { IF (Array.isArray (ARR [I])) { thisArr (ARR [I ]); } the else { new_arr.push (ARR [I]); } } }; function ladding () { var arr = [1,2,3,4,5,["a","b","c","d","e",["A","B","C","D","E",["FIRST","SECOND","THIRED","FOURED","FIRED"]]]]; thisArr(arr); console.log(new_arr); }