首页 > 代码库 > js 基础知识 对象与数组

js 基础知识 对象与数组

对象是一种无序属性的集合,每个属性都有自己的名字和值。

对象的创建有很多种,我在第一章已经说过了。

如何遍历一个对象:

var x;
var txt="";
var person={fname:"Bill",lname:"Gates",age:56};

for (x in person)       //x其实是一个变量,代表的是person对象的属性
{
txt=txt + person[x];              //person[属性]  等同于person.属性
}

alert(txt);   输出对象中的所有值

若值读取其中一个属性,只需要var value=http://www.mamicode.com/person.属性名 ,就可以了

同样也可以给对象属性赋值,person.属性名=value;

数组:是一个有序的值的集合。

数组的创建同样在第一张已经介绍过。

遍历一个数组其实跟遍历对象没有什么区别,上面方法同样可以。

但是可以用数组长度遍历数组

var aa=[2,3,4,5,6,7];

for(var i=0;i<aa.length;i++){

  alert(aa[i]);   //输出每个值

}

关于数组呢,它有很多的方法。下面来看看这些常用方法。

join()方法,可以把数组的所有值转换成字符串,然后在连接起来。

eg:var a=[1,3,4];

      var s=a.join();  //s="1,2,3,"

 

reverse() 方法,颠倒数组元素的顺序,并返回颠倒后的数组。

var a=[1,23,5];

a.reverse();   //a=[5,23,];

 

sort()方法,给数组排序

如果不给参数的话,会按照字母顺序个数组排序

var a=["f","s","a","t","h"];

a.sort();   //a=["a","f","h","s","t"];

还有一种给参数的,使数组从小到大排。

var a=[33,4,55,666];

a.sort(function(a,b){return a-b});   转成4,33,55,666

 

concat()   创建并返回一个数组。

var a=[1,2,3];

a.concat(4,5);  //返回[1,2,3,4,5];

a.concat([4,5])   //返回[1,2,3,4,5];

a.concat(4,[5,[6,7]])  //返回[1,2,3,4,5,[6,7]]   无法展开一个元素为数组的数组

 

slice()  返回指定数组的一个片段,子数组

var a=[1,2,3,4,5];

a.slice(0,3)  //返回[1,2,3]

a.slice(3)   //返回[4,5]

a.slice(1,-1); //返回[2,3,4]     -1代表 倒数第一个(最后一个)

 

splice()  插入或者删除数组元素  ,在原数组上回修改数组

var a=[1,2,3,4,5,6,7,8];

a.splice(4);    //return [5,6,7,8]   ,a=[1,2,3,4]     //表示在原数组上删除数据,返回删除的数组元素

a.splice(1,2)   //return [2,3]  ,a=[1,4]

var a=[1,2,3,4];

a.splice(2,0,"a","b")  //先删除从2位置开始,后面0个元素,从第一个参数的位置插入参数3,4,5...  return [], a=[1,2,"a","b",3,4];

 

push()方法将一个新元素添加到数组的尾部,返回数组的长度

pop()方法是删除最后一个元素,并返回删除的值。

var a=["qq"];

a.push(1,2);    //a=["qq",1,2]

a.pop();          //a=["qq",1]   

 

unshift()在数组的头部插入一个新元素,返回新数组长度

shift() 删除数组的第一个元素,并返回删除的值。

var a=[];

a.unshift(1,2,3);    //a=[1,2,3]

a.shift();    //a=[2,3]