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";
相关文章
相关标签/搜索