javascript---3

来源:互联网 发布:超强震动软件下载 编辑:程序博客网 时间:2024/05/10 19:43

一、day06

DS5数组增强API

1、查找(查找数组的下标)

arr.indexof(val):查找val在数组中第一个

var index=arry.indexof(5);查找第一个数字5在数组中的位置

arr.indexof(val,index+1):查找第二个5的位置

var index=arr.lastIndexOf(5):查找最后一个数字5的数字

var index=arr.lasIndexOf(5,index-1);查到倒数第二个5的位置

//去掉重复数组

var array=[3,2,3,4,8,2,3,4,8,9,8];

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

var index=newArray.Indexof(array[i])

if(index===-1){

newArray.push=array[i]}

2、迭代:不会影响到原始数组

array.forEach(callaback);为数组(没有办法终止或者跳出forEach循环)

callaback是函数,接收三个参数,currenValue数组中的元素,index元素的下标,array

array.forEach(function(element,index,array){}){

var idx=newArray.indexOf(element);

if(idx===-1)

newArray.push(element);

}

Array.filter(callback)用来测试数组的每个元素

fuction isBIGenough(element){

return element>10;

}

var filtered=[12,5,8].filter(isBigEnought)


arr.every(callback):测试数组的素有元素是否都通过了指定函数callback的测试

arr.some(callback):测试数组中某些元素是否通过了指定函数callback的测试

arr.map(calback):返回由原始数组每个元素调用callback后的返回值生成的新数组。

callback是哪个惨呼(element,index,array)

element:表示当前遍历到的元素

index:表示当前元素的索引
array:表示调用方法的数组

3、归并

arr.reduce(callback)接收一个函数作为累加器,数组中的每个值(从左到右开始合并)最终为一个值

arr.reduceRight(callback):(从右向左开始合并)

callback有四个参数(prev,curr,index,array)

prev:上一次合并得到的值

curr:当前遍历到的元素

index:当前元素的索引

array:当前方法额数组

var array=[12,545,78,55,4,5];求当前数组的和

var result=array.reduce(function(prev,curr){

ruturn prev+curr;

});console.log(result)


String对象

var str="abc";数据类型为string,基本数据类型

var str=new String("abc");数据类型为object;引用数据类型

字符串也可以看做是一个数组

常用属性和方法

属性:length(表示字符串的长度)

方法:charAt(index)--查找index索引处的字符 console.log(str.charAt(i));

charCodeAt(index)--返回制定位置的字符的unicode处的编码console.log(str.charCodeAt(i));

formCharCode(code)---可接受一个制定的unicode值,然后返回一个字符串,var code=33761;var val=String.fromCharCode(code);编码还原成字符

do{

//随机生成一个长度为4的验证码,可以包含字母数字

var validaeCode="";

//生成字母数字在ASCII码表中的编码十进制值48-122之间的数字

//[48,122] [0,74]+48;

var code=Math.floor(Math.random*75)+48;

//判断随机所生成的编码是否符合验证码规则

if(code>=58 && code<=64 || code>=91 && code<=96)

continue;

//将编码转换我ASCII表中的字符

 var char=String.fromCharCode(code);

validateCode+=char;

}while(vilidateCode.length<4)

contact()----链接字符串

indexof(sub)---查找指定的子字符串在原字符串中第一次出现的索引位置

lastIndexOf(sub)---查找指定的子字符串在原字符串中最后一次出现的索引

replace(old,new)---用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。(返回新的字符串,原字符串不受影响)

var str="abcgisleifjfaleiabcefabc";

var newStr=str.replace("abc","***");把字符串的的原字符串的第一个abc替换为***

用正则表达式

var newStr=str.replace(/abc/g,"***")将原字符串的所有abc都替换成***

slice(start,end)---子字符串的截取操作,包含Start元素,不包含end元素;如果start为负数则该参数规定的是从字符串的尾部开始算起的位置

substring(start,end)---子字符串截取,参数不能取负值

substr(str,len)---子字符串截取,len表示要截取子字符串的长度//不推荐使用

split(sep)---使用指定的符号分割字符串,返回分割后的字符串数

toLowerCase()--转换为小写

toUpperCase()---转换Wie大写

var str="this is your variable";//thisIsYourVariale

Var word=str.split(" ");得到word的数组为["this","is","your","varable"];

var result=words[0].toLowerCase();

for(var i=1,len=word.length;i<len;i++){

result+=words[i].charAt(0).toUpperCase();//把第一个字母转换为大写

result+=words[i].slice(1).toLowerCase();//把除了第一字母后的其他字母转换为小写

}

Math对象:用于执行数学任务

属性:PI

方法:

random();floor(),ceil(),round();

abs(x);求绝对值

Math.max(num1,num2,num3,num4)求一组数组中的最大值//apply

pow(x,y)方法可返回x的y次幂值

sqrt()方法可返回一个数的平方根;

.....

Number对象

Number.MAX_ VALUE();

Date对象:用于处理日期和时间

创建Date对象

var d=new Date();//表示当前系统的时间

var d=new Date("yyyy-MM-DD HH:MM:SS.MS")//表示字符串中制定的时间,Date中表现时间的标准格式

var d=new Date(year,month,date,hour,minute,second,millsecond);//month的取值是0-11

var d=new Date(millseconds)//传递的是从1970年一月一号开始的毫秒数;

常用方法:

getFullYear()//年,可返回一个表示年份的4位数字

getYear()可返回表示年份的两位或四位的数字,一般用getFullYear代替

getMonth()//月返回的是0-11

getDate()//返回日期

getDay()//日放回表示星期的某一天的数字,0-6

getHours()//

getMinutes()//

getSeconds()//

getMilliseconds//毫秒

getTime()//用于获取日期对象相对1970-1-1 0:0:0以来的毫秒数;

setFullYear()//设置年份

setMonth()//设置月份

setTime()//

parse()---解析:将字符串的日期时间解析为date,返回的是毫秒数

toString()

toTimeSting()//查看时间部分

toDateString()//日期部分

toLocalString()//

toLocalDateString()//默认返回格式为1970/5/4;

//格式化日期时间

function format(date){

var year=date.getFullYear();

var month=("0"+(date.getMonth()+1)).slice(-2);

var d=date.getDate();

return year+"-"month+"-"+"d";

}//返回的格式为1970-05-4;




0 0
原创粉丝点击