摘要:前段時間遇到的一個算法題,將上面的數組去重排序先轉換成字符串根據逗號分割再轉換成一個數組的語法去重將數組的字符串轉換成數字
前段時間遇到的一個算法題,
var arr = [1,2,4,3,4,3,[12,2,4,5],[1,3,5,[234,432,5,3,2,5]]]將上面的數組去重排序
let str = arr.toString() //先轉換成字符串 let newArr = str.split(","); //根據 逗號分割再轉換成一個數組 var a = [...new Set(newArr)] //es的語法去重 function insertionSort(array) { for (var i = 0; i < array.length; i++) { var key = eval("("+array[i]+")"); //將數組的字符串轉換成數字 var j = i - 1; while ( array[j] > key) { array[j + 1] = array[j]; j--; } array[j + 1] = key; } return array; } console.log(insertionSort(a))
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/110027.html
摘要:題目相關知識去除字符串里面的重復字符。該運算符將一個數組,變為參數序列。展平數組的方法只能展平一層默認為。如果原數組有空位,方法會跳過空位。展平后每個數組中的至是字符串,可根據需要再轉換參考文章 題目 var arr=[ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10]; 1 . Array....
摘要:線程之間的通信由內存模型本文簡稱為控制,決定一個線程對共享變量的寫入何時對另一個線程可見。為了保證內存可見性,編譯器在生成指令序列的適當位置會插入內存屏障指令來禁止特定類型的處理器重排序。 并發編程模型的分類 在并發編程中,我們需要處理兩個關鍵問題:線程之間如何通信及線程之間如何同步(這里的線程是指并發執行的活動實體)。通信是指線程之間以何種機制來交換信息。在命令式編程中,線程之間的...
摘要:對于域,編譯器和處理器要遵守兩個重排序規則在構造函數內對一個域的寫入,與隨后把這個被構造對象的引用賦值給一個引用變量,這兩個操作之間不能重排序。這個屏障禁止處理器把域的寫重排序到構造函數之外。下一篇深入理解內存模型七總結 與前面介紹的鎖和volatile相比較,對final域的讀和寫更像是普通的變量訪問。對于final域,編譯器和處理器要遵守兩個重排序規則: 在構造函數內對一個fi...
摘要:需求給出定兩個參數,參數,參數查找參數插入數組時的最小索引思路數組重排序判斷數組中是否包含的最小數,有,則返回其最小數的索引無,則返回其數組長度思路用變量存儲大于中各元素的次數返回變量思路數組重排序查找大于的數組最小值的索引索引等于返 需求 給出定兩個參數,參數1:arr,參數2:num;查找參數num插入數組時的最小索引 getIndexToIns([10, 20, 30, 40, ...
摘要:寫域重排序規則寫域的重排序規則禁止對域的寫重排序到構造函數之外,這個規則的實現主要包含了兩個方面禁止編譯器把域的寫重排序到構造函數之外編譯器會在域寫之后,構造函數之前,插入一個屏障。結論只有當構造函數返回時,引用才應該從線程中逸出。final關鍵字final的簡介final可以修飾變量,方法和類,用于表示所修飾的內容一旦賦值之后就不會再被改變,比如String類就是一個final類型的類。f...
閱讀 3350·2021-11-04 16:10
閱讀 3846·2021-09-29 09:43
閱讀 2692·2021-09-24 10:24
閱讀 3338·2021-09-01 10:46
閱讀 2503·2019-08-30 15:54
閱讀 585·2019-08-30 13:19
閱讀 3232·2019-08-29 17:19
閱讀 1049·2019-08-29 16:40