javascript学习之路(2)——数组

Array 类型恐怕是 javascript中最常用的类型了。而且,javascript中的数组与其他多数语言中的数组有着相当大的区别。虽然javascript数组与其他语言中的数组都是数据的有序列表,但与其他语言不同的是,javascript数组的每一项可以保存任何类型的数据。也就是说,可以用数组的第一个位置来保存字符串,用第二位置来保存数值,用第三个位置来保存对象,以此类推。而且,javascript数组的大小是可以动态调整的,即可以随着数据的添加自动增长以容纳新增数据。
1,,数组创建方式有以下几种:

var colors = new Array();
var colors = new Array(20);//创建长度为20的数组
var colors = new Array("red", "blue", "green");//创建一个含有3个元素的数组
var colors = Array(3); //使用 Array 构造函数时也可以省略 new 操作符
var names = [];//创建一个空数组

2,给数组添加元素

方式一:利用索引添加
var names=new Array();
names[0]="Android";
names[1]="PHP";
names[2]="JAVA";

方式二:栈方法添加 push总是把元素插入到数组的最末尾
var names=new Array();
names.push("Android");
names.push("PHP");
names.push("JAVA");
方式三:队列方法添加 unshift总是把元素添加到数组最前端
var names=new Array();
names.push("android");
names.unshift("java");
names.unshift("php");

3,删除数组元素

方式一:删除末尾元素
 var names=["android","java","php"];
names.pop();
结果:android,java

方式二:删除某一个元素
1,首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引:
Array.prototype.indexOf = function(val) {
        for (var i = 0; i < this.length; i++) {
            if (this[i] == val) return i;
        }
        return -1;
    };

2,然后使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素:
Array.prototype.remove = function(val) {
        var index = this.indexOf(val);
        if (index > -1) {
            this.splice(index, 1);
        }
    };

3,方法调用:
var names= ['Android','JAVA','PHP'];
names.remove('Android');]
结果:JAVA,PHP

4,修改数组元素

方式一:按索引修改数组元素
var names = ['Android','JAVA','PHP'];
names2[1]="java";
结果:Android,java,PHP

方式二 :按元素值修改
1,获取元素在数组中的索引
  Array.prototype.remove = function(val) {
        var index = this.indexOf(val);
        if (index > -1) {
            this.splice(index, 1);
        }
    };

2,给数组添加修改元素方法:
Array.prototype.change = function(oldValue,newValue) {
        var index = this.indexOf(oldValue);
        if (index > -1) {
           this[index]=newValue;
        }
    };

3,方法调用:
var names = ['Android','JAVA','PHP'];
names.change('Android','android');
结果:android,JAVA,PHP

5,获取数组元素值

方式一:按索引获取值
var names = ['Android','JAVA','PHP'];
var value=names[0];
结果:Android

方式二:获取数组元素第一个值:
var names = ['Android','JAVA','PHP'];
var value=names.shift();
结果:Android

相关推荐