摘要:逛知乎的時(shí)候看到一個(gè)問題,不能使用循環(huán),傳入和生成一個(gè)長度為,每一項(xiàng)都是的數(shù)組。方法三來自在捷克的獵人我后面也想到了,哈哈可以用或,來自灰色碰觸用用的少,一下就想不起來了希望能看到大家更好的方法,感覺自己進(jìn)了死胡同
逛知乎的時(shí)候看到一個(gè)問題,不能使用for循環(huán),傳入n和m, 生成一個(gè)長度為n,每一項(xiàng)都是m的數(shù)組。第一反應(yīng)是遞歸,然后再想到正則,還在思考中...遞歸法
function getArr(n,m) { // 方法一: 遞歸 let arr = new Array(n) function setData (index) { if (index >= 0) { if (!arr[index]) { arr[index] = m } setData(index - 1) } } setData(arr.length - 1) return arr } getArr(10, "aa") // ["aa", "aa", "aa", "aa", "aa", "aa", "aa", "aa", "aa", "aa"]正則法
function getArr(n,m) { // 方法二: 正則 (缺點(diǎn):當(dāng)傳入的數(shù)據(jù)帶,時(shí),以,為分隔符會(huì)出錯(cuò),邏輯還需要優(yōu)化) let str = new Array(n).join(" ") // 生成對(duì)應(yīng)長度的字符串 str = str.replace(/s?/g, m) // 使用正則替換得到對(duì)應(yīng)的字符串 str = str.replace(new RegExp(`(${m})`, "g"), "$1,") // 得到逗號(hào)分隔的字符串 str = str.substring(0, str.length - 1) return str.split(",") } getArr(3, "12345") // ["12345", "12345", "12345"]fill()
來自ntnyq, ntnyq說的數(shù)組的fill()方法,之前都不知道的,感謝,然后立刻就想到了類似可以去完成功能的,map()和filter()。
function getArr(n,m) { // 方法三: fill() return Array(n).fill(m) } getArr(10, "aa") // ["aa", "aa", "aa", "aa", "aa", "aa", "aa", "aa", "aa", "aa"]map()
來自在捷克的獵人(我后面也想到了,哈哈)
function getArray(n, m){ return result = Array(n).join(",").split(",").map(() => { return m }) }while
可以用while 或 do ... while,來自灰色v碰觸
用while用的少,一下就想不起來了...
希望能看到大家更好的方法,感覺自己進(jìn)了死胡同...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/53552.html
摘要:逛知乎的時(shí)候看到一個(gè)問題,不能使用循環(huán),傳入和生成一個(gè)長度為,每一項(xiàng)都是的數(shù)組。方法三來自在捷克的獵人我后面也想到了,哈哈可以用或,來自灰色碰觸用用的少,一下就想不起來了希望能看到大家更好的方法,感覺自己進(jìn)了死胡同 逛知乎的時(shí)候看到一個(gè)問題,不能使用for循環(huán),傳入n和m, 生成一個(gè)長度為n,每一項(xiàng)都是m的數(shù)組。第一反應(yīng)是遞歸,然后再想到正則,還在思考中... 遞歸法 function...
摘要:逛知乎的時(shí)候看到一個(gè)問題,不能使用循環(huán),傳入和生成一個(gè)長度為,每一項(xiàng)都是的數(shù)組。方法三來自在捷克的獵人我后面也想到了,哈哈可以用或,來自灰色碰觸用用的少,一下就想不起來了希望能看到大家更好的方法,感覺自己進(jìn)了死胡同 逛知乎的時(shí)候看到一個(gè)問題,不能使用for循環(huán),傳入n和m, 生成一個(gè)長度為n,每一項(xiàng)都是m的數(shù)組。第一反應(yīng)是遞歸,然后再想到正則,還在思考中... 遞歸法 function...
輸入createArr(3, abc)輸出[abc, abc, abc] 不使用循環(huán),有以下方法: 1.遞歸法 showImg(https://segmentfault.com/img/bVbqlv3?w=289&h=289);思路如下:1.創(chuàng)建一個(gè)數(shù)組2.創(chuàng)建一個(gè)addEle函數(shù)用于給數(shù)組添加元素3.判斷count是否為0,不為0時(shí)給數(shù)組尾部添加元素,使count - 14.調(diào)用addEle函數(shù)...
摘要:數(shù)組也是對(duì)象數(shù)據(jù)類型的數(shù)組也有屬性名,只不過屬性名是數(shù)字,我們把數(shù)字屬性名稱之為它的索引數(shù)組是以數(shù)字作為索引,索引從零開始,有一個(gè)屬性代表數(shù)組的長度。 Array 數(shù)組也是對(duì)象數(shù)據(jù)類型的 typeof [] ->object數(shù)組也有屬性名,只不過屬性名是數(shù)字,我們把數(shù)字屬性名稱之為它的索引:數(shù)組是以數(shù)字作為索引,索引從零開始,有一個(gè)length屬性代表數(shù)組的長度。 showImg(h...
摘要:不會(huì)修改原數(shù)組參數(shù)在每一項(xiàng)上調(diào)用的函數(shù)和作為歸并基礎(chǔ)的初始值可選的。改函數(shù)接收個(gè)參數(shù)前一個(gè)值當(dāng)前值項(xiàng)的索引和數(shù)組對(duì)象。 數(shù)組API(1) 棧方法 (后進(jìn)先出) 在棧的頂部進(jìn)行插入和移除操作,使用 push 和 pop 方法結(jié)合(會(huì)修改原始數(shù)組) 在數(shù)組末尾插入(push可以添加多項(xiàng)) push var arr=[1,2,3]; var m=arr.push(m); console...
閱讀 3462·2023-04-26 02:31
閱讀 3626·2021-11-23 09:51
閱讀 1290·2021-11-17 09:33
閱讀 2443·2021-11-16 11:45
閱讀 2573·2021-10-11 11:12
閱讀 2415·2021-09-22 15:22
閱讀 2717·2021-09-04 16:40
閱讀 2578·2021-07-30 15:30