首页 > 代码库 > JS的数组相关知识

JS的数组相关知识

创建数组方法一:

            var a1=new Array(5);
            console.log(a1.length);//5
            console.log(a1); //[] ,数组是空的

            var a2=new Array(5,6);
            console.log(a2.length);//2
            console.log(a2); //[5,6]            

 

创建数组二:

           var a1=[5];
            console.log(a1.length);//1
            console.log(a1); //[5]

            var a2=[5,6];
            console.log(a2.length);//2
            console.log(a2); //[5,6]    

 

数组的索引和长度:

var a1=[1,2,3,4];
console.log(a1[0]); //1
var i=1;
console.log(a1[i]); //2
console.log(a1[++i]); //3

 

console.log(1 in a1);//true,确实是一个属性

 

           var a=new Array(1,2,3);
            a[100]=100;
            console.log(a.length); //101
            console.log(a[3]); //undefined
            console.log(a[99]); //undefined
            console.log(a[100]); 100

上面的例子中:

虽然直接对a[100]赋值不会影响a[4]或a[99],但数组的长度却受到影响,数组length属性等于数组中最大的index+1,我们知道数组的length属性同样
是个可写的属性,当强制把数组的length属性值设置为小于等于最大index值时,数组会自动删除indexd大于等于length的数据,在刚才代码中追加几句
a.length=2
console.log(a);//[1,2]
a.length=5;
console.log(a); //[1,2] //后面没有3个undefined

 

 

 

元素添加/删除

            var a=new Array(1,2,3);
            a[3]=4;
            console.log(a);//[1, 2, 3, 4]
           delete a[2];
            console.log(a[2]); //undefined

 

 

JS的栈方法:

            var a=new Array(1,2,3);
            a.push(4);
            console.log(a);//[1, 2, 3, 4] 
            console.log(a.length);//4
            console.log(a.pop(a));//4
            console.log(a); //[1, 2, 3] 
            console.log(a.length);//3

 

 

JS的队列方法

            var a=new Array(1,2,3);
            a.unshift(4);
            console.log(a);//[4, 1, 2, 3] 
            console.log(a.length);//4
            console.log(a.shift(a));//4
            console.log(a); //[1, 2, 3] 
            console.log(a.length);//3

 

 

JS的删除方法

            var a=new Array(1,2,3,4,5);
            console.log(a.splice(1,3));//[2, 3, 4] 
            console.log(a.length);//2
            console.log(a);//[1,5]

 

 

 

 

JS循环遍历数组:

var arr = new Array(13.5,3,4,5,6);
for(var i=0;i<arr.length;i++){
  alert(arr[i]);
}
var x
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"
for (x in mycars)
{
document.write(mycars[x] + "<br />")
}

 

 

 

js 数组和字符串之间的相互转换:

var a, b;
a = new Array(0,1,2,3,4);
b = a.join("-");

 

var s = "abc,abcd,aaa";
ss = s.split(",");// 在每个逗号(,)处进行分解。

 

JS的数组相关知识