2024-04-11【技術(shù)】 使用flat() 方法來展平數(shù)組

問題:使用JavaScript,將flattened = [[0, 1,2,6], [2, 3,7], [4,3,4, 5]] 去重并重新形成一個從小到大排序的數(shù)組买优。

在JavaScript中,我們可以通過以下步驟來完成這個任務(wù):

  1. 使用Array.prototype.flat()方法將嵌套的數(shù)組“扁平化”成一個一維數(shù)組蹦狂。
  2. 使用Set來去除數(shù)組中的重復(fù)元素驻售。
  3. Set轉(zhuǎn)換回數(shù)組。
  4. 使用Array.prototype.sort()方法對數(shù)組進行排序库北。

下面是具體的實現(xiàn)代碼:

let flattened = [[0, 1, 2, 6], [2, 3, 7], [4, 3, 4, 5]];

// 步驟1: 扁平化數(shù)組
let flatArray = flattened.flat();

// 步驟2: 使用Set去重
let uniqueElements = new Set(flatArray);

// 步驟3: 將Set轉(zhuǎn)換回數(shù)組
let uniqueArray = [...uniqueElements];

// 步驟4: 對數(shù)組進行排序
uniqueArray.sort((a, b) => a - b);

console.log(uniqueArray); // 輸出: [0, 1, 2, 3, 4, 5, 6, 7]

解析:

這段代碼首先使用flat()方法將嵌套的數(shù)組flattened轉(zhuǎn)換成一個一維數(shù)組flatArray
這里使用了 flat() 方法來展平數(shù)組们陆,該方法默認會將所有子數(shù)組的元素與當前數(shù)組的元素合并寒瓦,并返回一個新數(shù)組。如果不確定子數(shù)組的嵌套深度坪仇,可以傳遞 Infinity 作為 flat() 方法的參數(shù)來展平任意深度的數(shù)組:

const flatArray = flattened.flat(Infinity);

例如:
let flattened = [[1231,1231,232,[9,9,8,7,6,[01,02,04,03]]],989,231]
let flatArray = flattened.flat(Infinity);
console.log(flatArray); // [1231, 1231, 232, 9, 9, 8, 7, 6, 1, 2, 4, 3, 989, 231]

然后杂腰,它使用Set對象uniqueElements來去除flatArray中的重復(fù)元素。由于Set對象只存儲唯一的值椅文,所以這一步自動完成了去重操作喂很。接下來,通過擴展運算符...Set對象轉(zhuǎn)換回數(shù)組uniqueArray皆刺。最后少辣,使用sort()方法根據(jù)數(shù)值大小對數(shù)組進行排序。sort()方法接受一個比較函數(shù)作為參數(shù)芹橡,這里我們提供了一個簡單的函數(shù)(a, b) => a - b,它根據(jù)ab的差值來確定它們的排序順序望伦。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末林说,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子屯伞,更是在濱河造成了極大的恐慌腿箩,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件劣摇,死亡現(xiàn)場離奇詭異珠移,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進店門钧惧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來暇韧,“玉大人,你說我怎么就攤上這事浓瞪⌒覆#” “怎么了?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵乾颁,是天一觀的道長涂乌。 經(jīng)常有香客問我,道長英岭,這世上最難降的妖魔是什么湾盒? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮诅妹,結(jié)果婚禮上罚勾,老公的妹妹穿的比我還像新娘。我一直安慰自己漾唉,他們只是感情好荧库,可當我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著赵刑,像睡著了一般分衫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上般此,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天蚪战,我揣著相機與錄音,去河邊找鬼铐懊。 笑死邀桑,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的科乎。 我是一名探鬼主播壁畸,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼茅茂!你這毒婦竟也來了捏萍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤空闲,失蹤者是張志新(化名)和其女友劉穎令杈,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碴倾,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡逗噩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年掉丽,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片异雁。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡捶障,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出片迅,到底是詐尸還是另有隱情残邀,我是刑警寧澤,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布柑蛇,位于F島的核電站芥挣,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏耻台。R本人自食惡果不足惜空免,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望盆耽。 院中可真熱鬧蹋砚,春花似錦、人聲如沸摄杂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽析恢。三九已至墨坚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間映挂,已是汗流浹背泽篮。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留柑船,地道東北人帽撑。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像鞍时,于是被迫代替她去往敵國和親亏拉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,585評論 2 359

推薦閱讀更多精彩內(nèi)容