JS Array對象

Array是Javascript的原生對象
構造函數
var arr=new Array()
參數可以是單個數字表示產生長度爲幾的數組,但各個成員的值都爲空,如果是多個數字的話,就表示數組成員;也可以是字符串數組等。但如果參數是空位的話,就會讀取到undefined,而且讀取不到鍵名
實例:

var arr = new Array(3);
arr.length // 3
arr // [ empty x 3]

判斷是否爲數組
Array.isArray()返回一個布爾值,表示是否爲數組,返回值爲布爾值

var arr = [1, 2, 3];
Array.isArray(arr) // true

方法
1:valueOf()表示對該對象求值,返回數組本身

     var arr = [1, 2, 3];
     arr.valueOf() // [1, 2, 3]

2:toString()返回數組的字符串形式,數組變字符串

var arr = [1, 2, 3];
arr.toString() // "1,2,3"

3:push()在數組的末端添加一個或者多個元素,並返回添加新元素的數組長度,會改變原來的數組

var arr = [1,2];
console.log(arr.push(3));//3---返回添加新元素後的數組長度

4:pop()刪除數組的最後一個元素,並返回該元素,會改變原來的數組。對空數組使用pop方法,會返回undefined

var arr = ['a', 'b', 'c'];
console.log(arr.pop()); // 'c'--刪除最後一個元素,並將其返回

5:shift()用於刪除數組的第一個元素,並返回該元素,會改變原來數組
Unshift()用於在數組第一個位置添加元素,並返回新元素的數組長度,該方法會改變原數組

var a = ['a', 'b', 'c'];
console.log(a.shift()); // 'a'--在第一個位置刪除元素a
console.log(a );// ['b', 'c']
a.unshift('d'); // 4--添加d元素,並返回數組長度4

6:join()將數組轉化爲字符串。以指定參數作爲分隔符,將所有數組成員連接成爲一個字符串返回,如果數組成員是undefined或null或者空位,會將轉化爲空字符串

var a = [1, 2, 3];
console.loga.join(' '));// '1 2 3'
console.loga.join(' | '));// "1 | 2 | 3 "
console.loga.join()); // "1,2,3"

7:concat()數組合並,將新數組的成員添加到原數組成員的後面,但不影響原數組

var a=[1,2,3];
var b=[4,5,6];
console.log(a.concat(b));//[1,2,3,4,5,6]

8:reverse()用於顛倒數組元素,返回改變後的數組,該方法會改變原數組

var a = ['a', 'b', 'c'];
console.log(a.reverse()); // ["c", "b", "a"]
console.log(a );// ["c", "b", "a"]

9:arr.slice(start,end)返回一個新數組,原數組不變:兩個參數,第一個參數爲起始位置,第二個參數爲終止位置,左開右閉[start,end),取小不取大

var a = ['a', 'b', 'c'];
console.log(a.slice(0)) // ["a", "b", "c"]
console.log(a.slice(1, 2)) // ["b"]

10:splice()用於刪除原數組的一部分成員,並且在刪除的位置添加新的數組成員,返回值是被刪除的元素,會改變原數組 如果是刪除的話第一個參數是索引起始位置,第二個參數是被刪除元素的個數;插入元素的話可以直接在這兩個元素後面添加新成員

var a = ['a', 'b', 'c', 'd', 'e', 'f','g'];
a.splice(4, 2) // ["e", "f"]
a//['a', 'b', 'c', 'd','g'];
a.splice(0, 2, 'h', 'i') // ["a", "b"]
a // [ 'c', 'd','g','h', 'i'];--刪除a,b並添加h i

11:sort()對數組成員進行排序,按照字典順序排序,數值會被轉化爲字符串,然後再進項字典順序排序,排序後原數組
成員將被改變,可以傳入一個函數作爲參數

實例1: console.log([9,7,8,6].sort());//[6,7,8,9]
 實例2:[3,2,4,1].sort(function (n1,n2){
             return n1-n2;
    });
    console.log(b);//[1,2,3,4]

12:map()將數組的所有成員依次傳入參數,然後將每一次的執行結果組成一個新數組返回,接受一個函數,函數中傳入三個參數,當前成員 當前位置 數組本身 相當於遍歷數組,映射一個新數組

var numbers = [1, 2, 3];
numbers.map(function (n) {
  return n + 1;
});// [2, 3, 4]
numbers
// [1, 2, 3]

13:forEach遍歷數組 element,index,array---當前值、當前位置、整個數組

var  a=[1,2,3,4];
 a.forEach(function (val, index, arr) {
        arr[index]+=val;
    })
        console.log(a)//[2,4,6,8]

14:filter()用於過濾數組成員,滿足條件的成員組成一個新數組返回

 console.log([1,2,3,4].filter(function (val, index, arr) {
       if (val % 2 == 0) {
            return val;
        }
    }));//[2,4]

15:some()返回一個布爾值,表示判斷數組成員是否符合某種條件。

var arr = [1, 2, 3, 4, 5];
arr.some(function (elem, index, arr) {
  return elem >= 3;
});
// true---如果有一個大於等於3,就會返回true

16:reduce()累加//累乘

console.log([1,2,3].reduce(function (totle, current, index) {
        return totle *= current;
    }));//6
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章