亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

將一個高維數(shù)組降維的三種寫法

fizz / 1593人閱讀

摘要:今天看到一道題目,花了半天時間,解了出來一個數(shù)組,通過遞歸的方式依次取出這個數(shù)組中的數(shù)據(jù)首先,針對這道題,如果不使用遞歸,最簡單的解法是先對其使用方法,使用函數(shù)分割字符串然后進入正式結(jié)題一般遞歸方法,使用一個空數(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))
}

然后進入正式結(jié)題

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---

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/84019.html

相關(guān)文章

  • 基于TensorFlow理解三大降維技術(shù):PCA、t-SNE 和自編碼器

    摘要:代碼地址在這篇文章中,我將盡我所能揭秘三種降維技術(shù)和自編碼器。動機當處理真實問題和真實數(shù)據(jù)時,我們往往遇到維度高達數(shù)百萬的高維數(shù)據(jù)。盡管在其原來的高維結(jié)構(gòu)中,數(shù)據(jù)能夠得到較好的表達,但有時候我們可能需要給數(shù)據(jù)降維。 代碼地址:https://github.com/eliorc/Medium/blob/master/PCA-tSNE-AE.ipynb在這篇文章中,我將盡我所能揭秘三種降維技術(shù):...

    Wildcard 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<