JS(二)

var url=['img0.jpg','img1.jpg','img2.jpg','img3.jpg'];
var ifo=['王昭君','鲁班','后羿','亚瑟'];

JSON数据格式:

var url_ifo={
url:['img0.jpg','img1.jpg','img2.jpg','img3.jpg'];
ifo:['王昭君','鲁班','后羿','亚瑟'];
}
alert(url_ifo.url[2]);//'img2.jpg'
alert(url_ifo.url);//:'img0.jpg','img1.jpg','img2.jpg','img3.jpg';
var json={'value':'code'}
alert(json.value);
alert(json['value']);

数组可以包json,json可以包数组:

var arr=[{'name':'zsw','age':21},{'value':code,'money':10000}];
alert(arr[0].name+'今年有'+arr[1]['money']+'钱');

for-in遍历json

var json={'name':'zsw','age':21,'value':code,'money':10000};
for(var attr in json){
alert(attr);//name、age、value、money
alert(json[attr]);//zsw、21、code、10000
}
var json2={
url:['img0.jpg','img1.jpg','img2.jpg','img3.jpg'];
ifo:['王昭君','鲁班','后羿','亚瑟'];
}
for(var attr in json2){
for(var i=0;i<json2[attr].length;i++)
{
alert(json2[attr][i]);//弹出img0.jpg,img1.jpg,img2.jpg,img3.jpg,王昭君,鲁班,后羿,亚瑟
}
}

for in与for循环的区别

数组、json均可用for in
json不可以用for循环

数组定义

两种定义写法

1、var arr=[1,2,3];
2、var arr=new Array(1,2,3);
var arr1=new Array(3);//设置数组长度
var arr2=new Array(“3”);//设置数组里面元素值
var arr3=['www',2,3];
arr.length=1;//把数组长度变为1

清空数组

1、arr.length=0;
2、arr=[]//数组重新复制,效率会比较高

数组的添加

var arr=[];
arr.push(4);
var arr1=[1,2,3];
alert(arr1.push('www'))//返回数组长度
arr1.unshift(0)//往前添加
alert(arr.unshift(2));//IE6 7不支持unshift返回值

arr.pop

alert(arr.pop);//返回被删除的元素
arr.shift()//从前删数组

应用

arr.unshift(arr.pop())//数组往右移
arr.push(arr.shift())//数组往左移

splice//有删除、替换、添加功能

arr.splice(0)//删除
arr.splice(0,2)//从第几位开始,删除几个
arr.splice(0,1,‘替换的值’)//替换一个
arr.splice(0,2,‘替换的值’)//替换两个
arr.splice(1,0,‘添加的值’)//在第0个和第1位置添加
alert(arr.splice(0,1,'www'))//返回删除的内容
应用:数组去重

sort()//按字符串规则编码排序

arr.sort(function(a,b){
return a-b;//在arr随机取两个数,比较交换,从小到大排序
})

随机排序

<script>
var attr=[3,4,2,55,77,34,25];
attr.sort(function(a,b){
	return Math.random()-0.5;
	})
alert(attr);
</script>

随机函数

Math.round():四舍五入
alert(Math.round(Math.random()))//0或者1
alert(Matn.round(Math.random()10))//0-10
alert(Matn.round(Math.random()
5+5))//5-10
alert(Matn.round(Math.random()10+10))//10-20
alert(Matn.round(Math.random()
80+20))//20-100
alert(Matn.round(Math.random()(y-x)+x))//x-y
alert(Matn.ceil(Math.random()
x))//1-x

concat数组连接

var arr1=[1,2,3];
var arr2=[4,5,6];
var arr3=[7,8,9];
alert(arr1.concat(arr2,arr3));//三个数组拼起来,变成一个新的数组1,2,3,4,5,6,7,8,9

reverse//翻转

var str='abcdef'
alert(str.split('').reverse().join());//'fedcba'

随机产生100个从0-100之间不重复的整数

<script>
var att=[];
for(var i=0;i<100;i++)
{
	att.push(Math.round(Math.random()*100));
	for(var j=0;j<att.length-1;j++)
	{
			if(att[att.length-1]==att[j])
			{
				att.splice(j,1);
				j--;
				i--;
			}		
	}	
}
alert(att);
/*att.sort(function(a,b){
	return a-b;
	})
alert(att);*/
</script>

为数组编写该方法:indexOf('img/1.jpg')

<script>
var a=['zsw','abc','www'];
function indexof(a,b){
	for(var i=0;i<a.length;i++)
	{
		if(a[i]==b)
		{
			return i;
		}
	}
	return -1;
	}
alert(indexof(a,'w'));
alert(indexof(a,'zsw'));
</script>

练习

排序练习
随机图片滚动
自定义字体形状
消除表情小游戏

posted @ 2017-06-26 23:47  swift-zsw  阅读(216)  评论(0编辑  收藏  举报