數組方法的二三事

數組,對於每個前端人員來講是很是常見且重要的數據結構之一,也是面試經常出現的題目,掌握數組的方法能幫助咱們更高效地處理問題。不過在數組的學習中,咱們經常會混淆數組自己的方法和Javascript提供的數組的方法,在這裏只簡單概括一下。前端

經常使用的數組方法

一、pop()

刪除數組的最後一個元素,返回被刪除的元素,原數組長度減1。原數組發生了變化,但沒有建立新的數組。面試

clipboard.png

二、shift()

刪除數組的第一個元素,返回被刪除的元素,原數組長度減1。原數組發生了變化,但沒有建立新的數組.數組

clipboard.png

三、unshift()

添加元素到數組的第一位,返回添加後的數組的長度,可見,原數組長度加1。原數組發生了變化,但沒有建立新的數組。數據結構

clipboard.png

四、push()

添加元素到數組的最後,返回添加後的數組的長度,可見,原數組長度加1。原數組發生了變化,但沒有建立新的數組。函數

clipboard.png

五、sort()

將指定數組進行排序,返回排好序的數組。改變了數組。學習

clipboard.png

六、reverse()

顛倒數組元素的順序,返回逆序後的數組。改變了數組。this

clipboard.png

七、join(separator)

返回字符串值,不影響原數組。spa

clipboard.png

八、toString()

將數組轉爲字符串,與join()的默認效果一致code

clipboard.png

九、splice(start, end)

返回被刪除的元素,從start開始刪,刪end個(包含start)。排序

clipboard.png

splice(start, end, item):返回被刪除的元素,並插入新的元素item(從被刪的位置插入)

clipboard.png

十、concat()

拼接兩個或多個數組,返回新數組,對原數組沒有影響

clipboard.png

clipboard.png

十一、slice(start, end)

返回截取的新數組,從start開始截取,截end個,但截取的元素不包含第end個的元素,即截取end-1個。
slice(0):複製舊數組,生成新數組。

clipboard.png

ES5新增的方法

一、indexOf()

返回查找項第一次在數組中出現的位置,第一個參數爲查找項,第二個參數可選,爲查找開始的位置。若是查找不到,則返回 -1。這經常應用在數組去重的案例中。

clipboard.png

二、lastindexOf()

從後往前找,查找方向與 indexOf 相反。

clipboard.png

三、every(callback, [this.Arg])

當數組的全部元素都知足條件時,返回 true,不然返回false。

clipboard.png

條件是item>3,只有4,5,6,7大於3,返回false

四、some(callback, [this.Arg])

只要數組有一項元素知足條件,就返回 true,不然返回false。

clipboard.png

條件是item>3,4,5,6,7大於3,返回true

五、filter(callback, [this.Arg])

知足條件的元素組成新的數組

clipboard.png

條件是item>3,4, 5, 6, 7大於3,返回[4, 5, 6, 7]

六、map(callback, [this.Arg])

每次調用函數處理後的值組成新的數組

var arr = [{"name": "Amy", age: 20}, {"name": "Sheldon"}, age: 22];
var result = map(function(item, index, array){
  return item.age   //返回[20, 22]
})

七、forEach()

循環遍歷,與for循環差很少,適用於循環次數未知,缺點是不能中斷循環

相關文章
相關標籤/搜索