JavaScript數據類型
基本數據類型
- Boolean
- Null
- Number
- String
- Symbol
- Undefined
對象數據類型Object
- Array
- Date
- RegExp
- more...
Array
- 定義:JavaScript數組是內置的對象之一,它能夠用一個變量來存儲多個同種類型或不一樣類型的值。
- 構造方法
- var newArr = new Array(values);
- var newArr = [values];
- Array.isArray(arr)
- arr instance of Array
- 棧(stack) 後進先出(LIFO), 操做:進棧arr.push(element), 出棧arr.pop(element)
- 隊列(queue) 先進先出(FIFO), 操做:入隊arr.shift(element), 出隊arr.unshift(element)
- 反序. arr.reverse()
- 正序. arr.sort(compare). 如果字母,arr.sort()默認按字母表順序排列; 如果數字數字字符串,能夠經過設置compare函數返回值來升序或降序排列。
function compare(a, b) {
return a - b; //升序, return b - a 爲降序
}
var newArray = currentArray.concat(arr1, arr2); javascript
其中 arr1和arr2能夠是字符串或者數組java
兩者皆有切片功能,即把數據的某部分切下來放到另外一個數組裏。不一樣的是slice只是把原數組的內容複製到另外一個數組,並不會影響原數組,而splice則會影響原數組。打個比方,slice就像一臺掃瞄儀,只掃描信息,不損壞原來信息;而splice像一個影片剪輯,會對剪輯的影片進行剪掉或拼接。二者的最後一個參數都是可選的,slice默認count爲currArr.length - index, 而splice默認insertElement爲空.數組
slice用法:var newArr = currArr.slice(index, count) 結果是把currArr從index開始以後的count個元素掃描到newArr;數據結構
splice用法:var newArr = currArr.splice(index, count, insertElement) 結果是把currArr從index開始以後count個元素剪掉放到newArr裏。函數
arr.indexOf(element) 從arr[0]開始找出element所在位置ui
arr.lastIndexOf(element) 從arr[arr.length-1] 開始找出element的位置。對象
- every. var result = currArr.every(function(element, index, array){ return ... }); result類型爲Boolean
- some. var result = currArr.some(function(element, index, array){ return ... }); result類型爲Boolean
- map var result = currArr.map(function(element, index, array){ return ... }); result類型爲Array
- filter var result = currArr.every(function(element, index, array){ return ... }); result類型爲Array
- forEach 無返回值
- reduce 用法 var result = currArr.reduce(pre, curr, index, array){return pre+curr;} 從currArr[0]開始求數組元素之和
- reduceRight 用法 var result = currArr.reduceRight(pre, curr, index, array){return pre+curr;} 從currArr[currArr.length - 1]開始求數組元素之和
- 二者結果相同