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

資訊專欄INFORMATION COLUMN

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

darkbaby123 / 1646人閱讀

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

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

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

相關(guān)文章

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

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

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

    摘要:將這個(gè)問(wèn)題進(jìn)行轉(zhuǎn)化將維數(shù)組降到維思路構(gòu)造一個(gè)目標(biāo)數(shù)組,初始為空。如果當(dāng)前項(xiàng)是數(shù)組,對(duì)當(dāng)前數(shù)組元素進(jìn)行降維。這是一個(gè)典型的遞歸過(guò)程。 將這個(gè)問(wèn)題進(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ù)組,對(duì)當(dāng)前數(shù)組元素進(jìn)行降維。這是一個(gè)典型的遞歸過(guò)程。 functio...

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

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

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

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

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

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

0條評(píng)論

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