摘要:今天看到一道題目,花了半天時間,解了出來一個數組,通過遞歸的方式依次取出這個數組中的數據首先,針對這道題,如果不使用遞歸,最簡單的解法是先對其使用方法,使用函數分割字符串然后進入正式結題一般遞歸方法,使用一個空數組接受值,然后作為參數傳入下
今天看到一道題目,花了半天時間,解了出來
一個數組var meta = [1,2,[3,4,[5]],6,[7,[8,9,[10,11,[12]]]]];,通過遞歸的方式依次取出這個數組中的數據
1、首先,針對這道題,如果不使用遞歸,最簡單的解法,是先對其使用string方法,使用split函數分割字符串
function reduceD(arr){ return arr.toString().split(",").map(x =>parseInt(x,10)) }
然后進入正式結題
2、一般遞歸方法,使用一個空數組接受值,然后作為參數傳入下一個遞歸
function reduceD(arr, result = []) { for (let value of arr) { Array.isArray(value) ? reduceD(value, result) : result.push(value); } return result; };
考慮到之前遇到過的爆棧,想想有沒有做尾遞歸優化的可能,于是
3、使用reduce方法
function reduceD(arr) { let recive = arr.reduce((a, b) => a.concat(b), []); if (!recive.filter(x => Array.isArray(x)).length) { return recive; } return reduceD(recive); }
---FIN---
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/84019.html
摘要:代碼地址在這篇文章中,我將盡我所能揭秘三種降維技術和自編碼器。動機當處理真實問題和真實數據時,我們往往遇到維度高達數百萬的高維數據。盡管在其原來的高維結構中,數據能夠得到較好的表達,但有時候我們可能需要給數據降維。 代碼地址:https://github.com/eliorc/Medium/blob/master/PCA-tSNE-AE.ipynb在這篇文章中,我將盡我所能揭秘三種降維技術:...
閱讀 955·2019-08-30 14:24
閱讀 987·2019-08-30 14:13
閱讀 1799·2019-08-29 17:21
閱讀 2661·2019-08-29 13:44
閱讀 1654·2019-08-29 11:04
閱讀 438·2019-08-26 10:44
閱讀 2564·2019-08-23 14:04
閱讀 908·2019-08-23 12:08