国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

將一個高維數組降維的三種寫法

fizz / 1530人閱讀

摘要:今天看到一道題目,花了半天時間,解了出來一個數組,通過遞歸的方式依次取出這個數組中的數據首先,針對這道題,如果不使用遞歸,最簡單的解法是先對其使用方法,使用函數分割字符串然后進入正式結題一般遞歸方法,使用一個空數組接受值,然后作為參數傳入下

今天看到一道題目,花了半天時間,解了出來

一個數組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

相關文章

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

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

    Wildcard 評論0 收藏0

發表評論

0條評論

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