首页 > 代码库 > 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]