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