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

資訊專欄INFORMATION COLUMN

多維數組變一維數組

darkbaby123 / 1587人閱讀

摘要:判斷是否是數組判斷是否一維數組多維數組變一維數組這里函數接受的數組個數如果太過會出現問題。只是給出正確而不拗口的寫法,只要把變成就可以了如果你擔心瀏覽器不支持那就用轉一下,會把轉換成而不出現作用域提升的問題。

//判斷是否是數組
let isArr = (arr) => (arr instanceof Array)

//判斷是否一維數組
let isTdim = (arr) => arr.reduce((o1, o2) => o1&&!isArr(o2), true)

//多維數組變一維數組
let flat = (arr) => isTdim(arr) ? arr : flat(Array.prototype.concat.apply([],arr))

這里apply函數接受的arr數組個數如果太過會出現問題。在node上測試,120000以內都可以,大于130000,就報錯了。chrome上會高一點。

關于閉包
function name() {
    var a = []
    for (var i = 0; i < 11; i++) {
        a[i] = function(){return i}
    }
    return a
}
console.log(name()[0]())

上面這個函數會輸出意外的結果:11.這里不再費力地解釋為什么會出現這種反人性的結果。只是給出正確而不拗口的寫法,只要把var變成let就可以了

function name() {
    var a = []
    for (let i = 0; i < 11; i++) {
        a[i] = function(){return i}
    }
    return a
}
console.log(name()[0]())

如果你擔心瀏覽器不支持let,那就用babel轉一下,babel會把let轉換成var而不出現作用域提升的問題。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/84143.html

相關文章

  • PHP 多維數組轉換一維數組

    摘要:下面是我寫的將多維數組轉換為一維數組的類方法,轉換的一維數組的每個元素包含了相應的值在原有多維數組中的以及維度即深度如果對應的原有元素也是數組,則相應的一維元素的則表示為當然,這個可以改。在格式化輸出多維數組的時候比較有效。 下面是我寫的將多維數組轉換為一維數組的類方法,轉換的一維數組的每個元素包含了相應的值在原有多維數組中的key,value以及維度(即深度),如果對應的原有元素也是...

    lykops 評論0 收藏0
  • 數組扁平化(將多維數組降維成一維數組

    摘要:將這個問題進行轉化將維數組降到維思路構造一個目標數組,初始為空。如果當前項是數組,對當前數組元素進行降維。這是一個典型的遞歸過程。 將這個問題進行轉化 ===> 將N維數組降到(N-1)維 思路:構造一個目標數組,初始為空。遍歷N維數組中的每一項。如果當前項不是數組而是單個元素,那么將它保存到目標數組中。如果當前項是數組,對當前數組元素進行降維。這是一個典型的遞歸過程。 functio...

    Ethan815 評論0 收藏0
  • 《C陷阱與缺陷》第三章

    摘要:而對于二維數組,因為內存連續性的原因,內存并不會真真的開辟一個二維空間,而是連續依次存入二維數組的每個數據。之所以有二維數組的說法是為了分析問題方便。二維數組的實質是一維數組,只是其元素類型是一維數組類型。 ...

    tyheist 評論0 收藏0
  • PHP cURL請求中CURLOPT_POSTFIELDS只支持一維數組

    摘要:使用發起請求時,我們會常用方法,具體的請求方式可以參考請求詳解這篇文章。但我推薦,為了請求的規范化,應該全部使用對請求的參數進行編碼。 使用PHP發起請求時,我們會常用cURL方法,具體的PHP請求方式可以參考 PHP cURL請求詳解 這篇文章。 cURL發起POST請求 在使用中,如果你需要發送POST的請求,需要配置CURLOPT_POST和CURLOPT_POSTFIELDS...

    airborne007 評論0 收藏0

發表評論

0條評論

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