因此咱們爲何還要使用數組呢?
定義一個數組 let numbers =[1,2,3,4,5,6]javascript
//在數組的最後一個位置添加元素 numbers.push(11) //1,2,3,4,5,6,11 //在數組的頭部位置添加一個元素 for (var i = numbers.length; i > 0; i--) { numbers[i] = numbers[i-1] } numbers[0] = -1 alert(numbers) // -1,1,2,3,4,5,6 (取到最後一個元素的後面一個位置,從後開始,將前面的一個賦值給後面一個,最後就空出頭部位置了)
// 刪除最後的元素 numbers.pop() //1,2,3,4,5 //刪除頭部的元素 numbers.shift() //2,3,4,5,6
//刪除 指定位置的幾個元素 (幾個元素,不是第幾個) numbers.splice(1, 2) //1,4,5,6 //修改 指定位置的幾個元素 numbers.splice(1, 2, "a", "b") //1,a,b,4,5,6 這種操做會先刪除,在添加寫入的元素:先從索引1開始刪除兩個,在從刪除的地方加上a,b兩個元素 eg: numbers.splice(1, 2, "a") //1,a,4,5,6 numbers.splice(1, 3, "a") //1,a,5,6
concats | 鏈接兩個或者更多數組,並返回結果 |
---|---|
every | 對數組中的每一項運行給定函數,若是該函數對每一項都返回 true ,則返回true , 不然返回false |
filter | 對數組中的每一項運行給定函數,返回該函數會返回 true 的項組成的數組 |
forEach | 對數組中的每一項運行給定函數。這個方法沒有返回值 |
join | 將全部的數組元素鏈接成一個字符串 |
indexOf | 返回第一個與給定參數相等的數組元素的索引,沒有找到則返回-1 |
lastIndexOf | 返回在數組中搜索到的與給定參數相等的元素的索引裏最大的值 |
map | 對數組中的每一項運行給定函數,返回每次函數調用的結果組成的數組 |
reverse | 顛倒數組中元素的順序,原先第一個元素如今變成最後一個,一樣原先的最後一個元素變成了如今的第一個 |
slice | 傳入索引值,將數組裏對應索引範圍內的元素做爲新數組返回 |
some | 對數組中的每一項運行給定函數,若是任一項返回 true ,則結果爲true , 而且迭代結束 |
sort | 按照字母順序對數組排序,支持傳入指定排序方法的函數做爲參數 |
toString | 將數組做爲字符串返回 |
valueOf | 和 toString 相似,將數組做爲字符串返回 |
// 數組的合併 var nums1 = [1, 2, 3] var nums2 = [100, 200, 300] var newNums = nums1.concat(nums2) alert(newNums) // 1,2,3,100,200,300
// 定義數組 var names = ["abc", "cb", "mba", "dna"] // 判斷數組的元素是否都包含a字符 var flag = names.every(function (t) { return t.indexOf('a') != -1 //indexof方法等於-1爲沒找到,找到了返回第一個索引 }) alert(flag) //false
// 定義數組 var names = ["abc", "cb", "mba", "dna"] // 判斷數組中是否包含有a字符的字符 var flag = names.some(function (t) { alert(t) return t.indexOf("a") != -1 }) alert(flag)
// 定義數組 var names = ["abc", "cb", "mba", "dna"] // forEach的使用 names.forEach(function (t) { alert(t) }) //彈出四次框 ,分別對應數組的每一項
另外三個filter,map,reduce方法在關於js的隨筆中有所闡述java