js數組操做

1.數組的建立

var numbers = [];
var numbers = [1,2,3,4,5];
var numbers = new Array();
var numbers = new Array(1,2,3,4,5);
var numbers = new Array(5);

2.數組的讀寫

var numbers = [ ];
    for (var i = 0; i < 5; i++) {
        numbers[i] = i;
    }
/*-------------分割線-----------*/
    var numbers = [1,2,3,4,5];
    var sum = 0;
    for (var i = 0; i < numbers.length; i++) {
        sum += numbers[i];
    }

3.數組的添加

var numbers = [1,2,3,4,5];
numbers.push(6);//數組的末尾添加一個元素

var numbers = [1,2,3,4,5];
numbers[numbers.length] = 6;//也能夠用數組的長度屬性爲數組添加元素
/*-----------------------分割線-------------------*/
var numbers = [2,3,4,5,6];
numbers.unshift(1);//數組的開頭添加一個元素

var numbers = [2,3,4,5,6];
var n = numbers.length;
for (var i = n; i >= 0; --i) {
    numbers[i] = numbers[i-1];
}
numbers[0] = 1;//不利用數組提供的方法,本身定義一個方法

4.數組的刪除

var numbers = [1,2,3,4,5];
numbers.pop();//刪除數組的末尾元素

var numbers = [1,2,3,4,5];
numbers.shift();//刪除數組的開頭元素

5.從數組中間位置添加和刪除元素

/*
splice()用法
1.起始索引(也就是你但願開始添加元素的地方)
2.須要刪除的元素個數(添加元素時該參數設爲0)
3.須要添加進數組的元素(沒必要組織成一個數組,能夠是任意的元素序列)
* */
var numbers = [1,2,3,4,5];
var newElements = [4,5,6];
numbers.splice(3,0,newElements);//第三個位置之後添加4,5,6
numbers.splice(3,0,4,5,6);//第三個位置之後添加4,5,6
numbers.splice(3,4);//第三個位置之後刪除四個元素

6.數組的排序

var numbers = [1,2,3,4,5];
    numbers.reverse();//5,4,3,2,1將數組中的元素的順序進行翻轉

    var names = ["David","Mike","Cynthia","Bryan"];
    names.sort();//Bryan,Cynthia,David,Mike.字符串類型的數組排序,sort方法很是好使
    
    var num = [3,1,2,100,4,200];
    num.sort();//1,100,2,200,3,4;sort方法是按照字典進行排序的,所以他假定元素都是字符串類型
/*    對於數字類型,該函數能夠是一個簡單的相減操做,從一個數字中減去另外一個數字。若是結果爲負,
    那麼被減數小於減數;若是結果爲0,那麼被減數和減數相等;若是結果爲正,那麼被減數大於減數。*/
    function compare(num1,num2) {
        return num1 - num2;
    }
    num.sort(compare);

7.數組的拷貝

var numbers = [1,2,3,4,5];
var numbersOther = numbers;
//可是把一個數組賦值給另外一個數組時,只是爲被賦值的數組添加了一個新的引用。
//當你經過原引用修改了數組的值,另外一個引用也會感知到這個變化。以下所示(這種行爲稱爲淺複製)
numbers[0] = 100;
console.log(numbersOther[0]);//100

//深拷貝,將原數組中的每個元素都複製一份到新數組中。
function copy(arr1, arr2) {
    for (var i = 0; i < arr1.length; ++i) {
        arr2[i] = arr1[i];
    }
}
var numbers = [1,2,3,4,5];
var numbersOther = [];
copy(numbers,numbersOther);
numbers[0] = 100;
console.log(numbersOther[0]);//1

8.字符串的數組化,數組的字符串化

var sentence = "A B C D E";
var words = sentence.split(" ");
console.log(words);//[A,B,C,D,E];

var words = [A,B,C,D,E];
var sentence = words.join("-");
console.log(sentence);//"A-B-C-D-E";
相關文章
相關標籤/搜索