上週學習內容總結
全域性作用域 區域性作用域(函式)
使用乙個變數 如果 自己的作用域有 就直接拿來用 如果自己的作用域沒有 沒有就一直往上一級作用域查詢 如果有就拿來用 直到找到 全域性作用域 如果有 就拿來用 如果沒有 -> 報錯 *** is not defined
修改乙個變數 如果 自己的作用域有 就直接修改 如果自己的作用域沒有 沒有就一直往上一級作用域查詢 如果有就直接修改 直到找到 全域性作用域 如果有 就修改全域性作用域的變數 如果沒有 那就在全域性先宣告乙個 再 賦值
函式自己呼叫自己 寫遞迴的時候 先寫 結束條件
var obj = {}
空物件
- 增
obj.name = "jack"
obj["name"] = "rose"
- 修改
obj.name = "jack"
obj["name"] = "rose"
- 刪除
delete obj.name
delete obj["name"]
今日學習內容總結
所有資料型別分為兩個大類基本資料型別和複雜資料型別
基本資料型別: number / string / boolean / undefined / null
複雜資料型別: object / function / array / …
建立乙個空陣列
var arr1 =
var arr1 = new array()
建立乙個長度為 10 的陣列
var arr2 = new array(10)
建立乙個有內容的陣列
var arr3 = new array(1, 2, 3)
var arr2 = [1, 2, 3]
儲存空間分成兩種 棧 和 堆
棧: 主要儲存基本資料型別的內容
堆: 主要儲存複雜資料型別的內容
基本資料型別是值之間的比較
複雜資料型別是位址之間的比較
push 是用來在陣列的末尾追加乙個元素
pop 是用來刪除陣列末尾的乙個元素
unshift 是在陣列的最前面新增乙個元素
shift 是刪除陣列最前面的乙個元素
splice 是擷取陣列中的某些內容,按照陣列的索引來擷取
reverse 是用來反轉陣列使用的
sort 是用來給陣列排序的
concat 是把多個陣列進行拼接
join 是把陣列裡面的每一項內容鏈結起來,變成乙個字串
使用 for 迴圈來迴圈陣列,因為 for 迴圈我們也可以設定成 0 ~ n 順序增加
這個行為叫做 遍歷
先遍歷陣列,讓挨著的兩個進行比較,如果前乙個比後乙個大,那麼就把兩個換個位置。
陣列遍歷一遍以後,那麼最後乙個數字就是最大的那個了。
然後進行第二遍的遍歷,還是按照之前的規則,第二大的數字就會跑到倒數第二的位置。
以此類推,最後就會按照順序把陣列排好了。
例如:將陣列進行排列
var arr =[5
,39,15
,80,65
,25,45
]for
(k =
0; k <= arr.length; k++)}
} console.
log(arr)
;
陣列與排序 第k個排列
給出集合 1,2,3,n 其所有元素共有 n 種排列。按大小順序列出所有排列情況,並一一標記,當 n 3 時,所有排列如下 123 132 213 231 312 321 給定 n 和 k,返回第 k 個排列。說明 給定 n 的範圍是 1,9 給定 k 的範圍是 1,n 示例 1 輸入 n 3,k ...
隨機排列陣列
再次翻出演算法導論,隨機翻倒了隨機排列陣列這個部分,感覺數學是如此神奇!首先,何謂隨機排列陣列。隨機排列陣列即通過排列給定的輸入陣列使陣列元素的排列隨機化,例如乙個陣列a n 其中元素為的值為,那麼對陣列進行隨機排列,顯然是有n!次不同的排列,並且每一次的排列都不一樣。如何把陣列元素排列隨機化呢?乙...
逆序排列陣列
include using namespace std 這個只是逆序輸出而已,並沒有改變陣列。void reversedorderarray int arr 10 void array int arr 10 void reversedorderarray int arr 10 for i 0 i 1...