JavaScript对象

javascript数组及对象

  1. 数组
    1. 数组创建

 

var arr=[];//第一种空数组

var stu=new Array();//第二种空数组

 

var arr=['a','b','c','d'];

var stu=new Array('a','b','c','d');//Array 必须大写

 

创建一定长度但无内容的数组

var arr=new Array(10);

 

 

通过索引值来获取数组元素

即arr[index],

 

    1. 数组的遍历

var arr=['a','b','c','d','e','f','g'];

for(var i=0,len=arr.length;i<len;i++){

document.write(arr[i]+'<br/>');

}

 

    1. 数组的属性

Length:代表数组的长度

    1. 常用方法

join()方法:

此方法将数组中所以元素都转化为字符串链接在一起,返回最后生成的字符串。

也可以指定可选的字符串在生成的字符串中来分隔数组的各个元素。如果不指定分隔符,默认使用逗号。案例如下

var a=[1,2,3];

a.join();//=> "1,2,3" 因为没有指定分隔符,默认为逗号。

a.join("+");//=> "1+2+3" 指定分隔符为+

a.join("-");//=> "1-2-3" 指定分隔符为-

 reverse()方法: 

方法将数组中元素进行倒序,返回倒序的数组,它是在原来数组中进行倒序,不产生的新数组,返回就是原来的数组,只不过里面元素已经进行倒序重排了。案例如下:

var a=[1,2,3];

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

 

sort()方法: 

方法将数组中的元素排序,并返回排序好的数组。如果不传参数默认以字母表顺序进行排序。案例如下: 

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

a.sort();// =>[1,2,3,4]

a.sort(function(a,b){return a-b;});//=>[1,2,3,4] 降序排列

a.sort(function(a,b){return b-a;});//=>[4,3,2,1] 升序排列

 

concat()方法

方法创建并返回一个新数组,新数组中的元素包含调用数组的元素和concat()中传入参数的值,传入的参数可以是单独数值,也可以是数组,concat()不会递归扁平化数组的数组。案例如下:

var a=[5,6,7];

a.concat(1,2);// =>[5,6,7,1,2];

a.concat([1,2]);// =>[5,6,7,1,2];

a.concat(3,[1,2]);// =>[5,6,7,3,1,2];

a.concat([1,[2,3]]);// =>[5,6,7,1,[2,3]];

 

push()和 unshift()方法:

方法就是向数组最后面添加元素,它返回的是新数组的长度;Array.unshift()方法就是向数组最前面添加元素,返回的是新数组的长度。案例如下:

var a=[1,2,3];

a.push(4,5);// a=[1,2,3,4,5]; 返回 值为5;

a.unshift(4,5);// a=[4,5,1,2,3]; 返回 值为5;☆传的参数可以一个,也可以多个。

 

pop()和 shift()方法:

方法就是删除数组中最后一个元素,它返回是删除的元素;Array.shift()方法是删除数组最前面的元素,返回是删除的元素。

var a=[5,6,7]; 

a.pop();// a=[5,6]; 返回值为 7 

a.shift();// a=[6,7]; 返回值 5

 

 

    1. 案例

数组去重   

 

<script type="text/javascript">

var a = prompt("请输入一个数字:");

var arr = new Array(1, 2, 3, 4, 5);

 

var z = 0;

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

if(a == arr[i]) {

z = 1;

break;

}

}

 

if(z == 0) {

arr.push(a);

} else {

alert("该数据在数组里面已存在!");

}

 

for(var i in arr){

document.write(arr[i]);

}

</script>

  1. 对象
    1. 创建一个对象

//和创建数组的"[]"不一样,创建对象用{}

创建语法:{属性1:值1,属性2:值2}

第一种:Object构造函数创建

var Person = new Object();

Person.name = 'Nike';

Person.age = 29;

 

第二使用对象字面量表示法

var stu={

name:'xiaoming',

age:22,

number:'007',

score:99,

};

 

第三种:使用构造函数创建对象

function Person(name,age){

this.name="tom";

this.age=18;

this.show=function(){

return "aaa";

}

}

 

 

 

    1. 获取对象属性

alert(stu['name']);

alert(stu.name);

    1. 遍历对象

for(per in obj){

 

}

var stu={

name:'xiaoming',

age:22,

number:'007',

score:99

};

 

for(per in stu){

document.write(stu[per] + "<br/>");

}

//这里stu[per]不能写成stu['per'],和直接用属性值不一样

//这里也不能用stu.per,

 

注意:

在for in结构中,循环得到的属性,取值时不能用 obj.属性 的方式

 

    1. 删除对象属性

delete  obj.属性;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值