WEB-JS-day08

day 08

复习

数组

数据的集合
创建方式 2种
	字面量创建 []
	new Array(3);

访问数组元素  下标 数组[下标]

添加元素
数组长度
关联数组(以字符串为下标), 索引数组
遍历:
	for -in
	for循环

数组中的api

转字符串 2个
	toString()
	join()
拼接多个数组
	concat

截取数组中的元素
	slice

删除,插入,替换
	splice

翻转数组
	reverse()

排序
	sort()
	sort(function(a,b){
		return a-b;
		})

在数组的末尾操作元素
	push() 添加
	pop() 删除

在数组的头部操作
	unshift()添加
	shift() 删除

作业:

使用数组遍历,将数组的元素反转


只用冒泡排序对数组中的数字从小到大排序.

对象和数组之间的关系

练习: 创建数组,包含若干个员工,(姓名,性别,年龄)

// 数组中的对象	
var emp=[
	{name:'tom',sex:'男',age:18},
	{name:'kate',sex:'女',age:20}
	];

console.log(emp);


练习: 创建对象(某个学员),学号,姓名,爱好

对象中的数组
var person={
	id :1,
	name:'赵日天',
	love:['日天','日地','日空气']
}

console.log(person.love[0]);

// 数组中的数组
var s=[['1','2'],['2']];
console.log(s[0]);

总结:
	对象中的属性可以是数组
	数组中也可以存储多个对象
	数组中也可以有数组---> 数组中的数组

二维数组

数组中的每个元素也是数组

var arr=[[],[],[]];

访问二维数组中的元素
	arr[下标][下标];

字符串对象

字符串怎么是对象啊?
计算中包装对象  ---> 一共提供了3种包装对象

字符串String, 数值Number , 布尔型Boolean

将任意类型转为 字符串 String()

	new String(true); 转为字符串,返回对象
	String(true); 转为字符串,返回字符串

为什么要包装对象啊?
因为对象有一组属性和方法,
只有对象才有属性和方法

目的: 为了让原始数据类型可以像引用类型数据一样,具有属性和方法,
	其本质是哪个还是原始数据类型.



    // var str1='小然';
    //把一个数据包装成对象
    var str1=new String('小然');
    var str2=new String(2);
    //console.log(str1,typeof str1);
    //console.log(str2,typeof str2);
    
    //console.log(str1+'180斤');
    //一般都是这样做, 直接new的不常用
    var str3='你好';
    var str4=String(true);
    console.log(str4,typeof str4);// true string


    // 将数组转成字符串
    var str5=String([2,3,4]);
    console.log(str5);	

转义字符 \

转换字符本身的意义
	\n 将字符n 转移成换行符
	\' 将具有特殊意义的引号装成普通符号.

字符串的api

toUpperCase() //将英文字母转为大写
tolowerCase() //将英文字母转为小写
length   是个属性, 返回字符串的长度(数量)
charAt() 获取 下标对应的字符,等价于 字符串[下标]

indexOf('s')  获取某个字符的下标, 有返回下标,没有返回 -1
indexOf(str, start); 查找字符出现的下标,从指定下标开始.找不到返回 -1

lastIndexOf(str); 获取最后一次的出现的下标  ,找不到返回-1

slice(start,end) ;截取字符串,start开始的下标,end结束的下标,含头不含尾
					如果end为空,则截取到最后, 如果为负数,表示倒数

substr(start,count);截取字符串,start开始的下标,count是截取的数量,如果
					count为空,截取到最后,start为负数表示倒数

substring(start,end) ; 截取字符串, start 开始的下标,end结束的下标,
					如果end为空截取到最后,如果为负数,自动转成 0
					如果 start 大于end ,位置会自动交换.

对比slice() 和substring();
		
		slice() 下标允许使用负数, substring() 下标为负数自动转成 0
		slice() 中开始的下标要小于结束的下标,substring()的下标不分顺序

将字符串分隔成数组
	之前数组可以转成字符串:
			var arr=['西瓜','冰柜','啤酒'];
				console.log(arr.join('-'));
			var str='西瓜-冰柜-啤酒';
			console.log(str.split('-'));
    split(str) 将字符串按照指定的字符 str 分割成数组,和数组下的方法join()方法是相对的. 

	split('')可以拆分每个字符 如: "abcdefj"可以拆成每个字符就是一个元素,返回值是一个数组.






    var str='aTos';
    //转为大写
    console.log(str.toUpperCase());
    // 转为小写
    console.log(str.toLowerCase());
    //查看字符的长度
    console.log(str.length);
    // 字符串也是有下标的, 也就是说String是数组实现的
    console.log(str[2]);
    
    //练习, 计算javascript中a字符出现的次数
    
    var s='javascript';
    
    for (var i=0,num=0;i

匹配模式

作用: 用于查找替换字符串

(1)查找
	str.match("字符串") 用于查找匹配的字符串,返回所有满足条件的字符串.
	如何全匹配,
	正则表达式的验证, /数据/ 中写上数据 可以达到全匹配的效果
	str.match(/字符串/g)
	g-global : 全局模式(贪婪模式), 可以找到全部相同的数据
	i-ignore :忽略的意思
	str.match(/数据/ig); 忽略大小写,全局去找

(2)查找字符串的下标

	str.search(/wenhua/) 用于查找满足条件的字符串的下标,找不到返回-1
						功能和indexOf()一致.
	忽略大小写 i 忽略
	str.search(/wehua/i) 找不到 返回-1; 只查找最先出现的下标

(3)查找并替换

	repace(value1,value2):查找并替换,value1 是要查找的字符串,value2是要替换的字符串.

	str.replace(/wenhua/ig,'文化老师');
	找到所有的匹配的字符串,去替换成指定数据

数学对象 Math对象 都是Js的对象

回顾: new Object()/new Array()/new String() 创建对象/实例化对象


Math对象不需要new ,也就是不需要创建对象,可以直接使用


Math.PI  圆周率
Math.abs(数据); 取绝对值
parseInt() 取整
Math.floor(数据); 向下取整
Math.ceil(数据): 向下取整
Math.round(数据); 四舍五入
Math.max(一组数据); 取最大值
Math.min(一组数据); 取最小值
Math.pow(3,2); 3的2次幂
	还可以这样  3**2; 也表示3的2次幂.
Math.random(); 取随机数  区间 0<=x<1 注: 产生的随机数是一个小数.
				通常我们需要和取整方法 搭配使用.

作业:

将一句英文每个单词的首字母装成大写,其余小写
	hoW aRe You  ---> How Are You

随机取 a-z A-Z 0-9 之间的4个字符,把取到的结果放入一个新数组中,注: 不能重复

你可能感兴趣的:(web)