成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

多維數(shù)組變一維數(shù)組

darkbaby123 / 1614人閱讀

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

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

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

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

這里apply函數(shù)接受的arr數(shù)組個(gè)數(shù)如果太過會(huì)出現(xiàn)問題。在node上測試,120000以內(nèi)都可以,大于130000,就報(bào)錯(cuò)了。chrome上會(huì)高一點(diǎn)。

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

上面這個(gè)函數(shù)會(huì)輸出意外的結(jié)果:11.這里不再費(fèi)力地解釋為什么會(huì)出現(xiàn)這種反人性的結(jié)果。只是給出正確而不拗口的寫法,只要把var變成let就可以了

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

如果你擔(dān)心瀏覽器不支持let,那就用babel轉(zhuǎn)一下,babel會(huì)把let轉(zhuǎn)換成var而不出現(xiàn)作用域提升的問題。

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

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

相關(guān)文章

  • PHP 多維數(shù)組轉(zhuǎn)換一維數(shù)組

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

    lykops 評(píng)論0 收藏0
  • 數(shù)組扁平化(將多維數(shù)組降維成一維數(shù)組

    摘要:將這個(gè)問題進(jìn)行轉(zhuǎn)化將維數(shù)組降到維思路構(gòu)造一個(gè)目標(biāo)數(shù)組,初始為空。如果當(dāng)前項(xiàng)是數(shù)組,對當(dāng)前數(shù)組元素進(jìn)行降維。這是一個(gè)典型的遞歸過程。 將這個(gè)問題進(jìn)行轉(zhuǎn)化 ===> 將N維數(shù)組降到(N-1)維 思路:構(gòu)造一個(gè)目標(biāo)數(shù)組,初始為空。遍歷N維數(shù)組中的每一項(xiàng)。如果當(dāng)前項(xiàng)不是數(shù)組而是單個(gè)元素,那么將它保存到目標(biāo)數(shù)組中。如果當(dāng)前項(xiàng)是數(shù)組,對當(dāng)前數(shù)組元素進(jìn)行降維。這是一個(gè)典型的遞歸過程。 functio...

    Ethan815 評(píng)論0 收藏0
  • 《C陷阱與缺陷》第三章

    摘要:而對于二維數(shù)組,因?yàn)閮?nèi)存連續(xù)性的原因,內(nèi)存并不會(huì)真真的開辟一個(gè)二維空間,而是連續(xù)依次存入二維數(shù)組的每個(gè)數(shù)據(jù)。之所以有二維數(shù)組的說法是為了分析問題方便。二維數(shù)組的實(shí)質(zhì)是一維數(shù)組,只是其元素類型是一維數(shù)組類型。 ...

    tyheist 評(píng)論0 收藏0
  • PHP cURL請求中CURLOPT_POSTFIELDS只支持一維數(shù)組

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

    airborne007 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<