zfxcms ^回到顶部

您的当前位置:首页 > web资讯 > JS > js基础-字符和日期

js基础-字符和日期

所属分类: JS   2019-12-27 16:03:27  编辑:admin  浏览次数 552 次

JavaScript数组

创建数组对象

创建一个数组对象 
创建数组对象的3种方式: 
1. new Array() 创建长度是0的数组 
2. new Array(5); 创建长度是5的数组,,但是其每一个元素都是undefine 
3. new Array(3,1,4,1,5,9,2,6); 根据参数创建数组

<script>

function p(s,v){

  document.write(s+' '+v);

  document.write("<br>");

}

var x = new Array(); //创建长度是0的数组

p('通过 new Array()创建一个空数组:',x);

x = new Array(5); //创建长度是5的数组,,但是其每一个元素都是undefine

p('通过 new Array(5)创建一个长度是5的数组:',x);//结果:通过 new Array(5)创建一个长度是5的数组: ,,,,

p('new Array(5) 这样没有赋初值的方式创建的数组,每个元素的值都是:',x[0]);

x = new Array(3,1,4,1,5,9,2,6); //根据参数创建数组

p('创建有初值的数组new Array(3,1,4,1,5,9,2,6) :',x); 

</script>

 

遍历一个数组

遍历有两种方式
1.结合for循环,通过下标遍历
2.使用增强for in循环遍历
需要注意的是,在增强for in中,i是下标的意思。

 

<script>

function p(s){

  document.write(s);

  document.write("<br>");

}

var x = new Array(3,1,4);

p('当前数组是:'+x);

p("使用普通的for循环遍历数组");

for(i=0;i<x.length;i++){  //普通for循环

  p(x[i]);

}

p("使用增强for循环遍历数组");

for(i in x){  //for in 循环

  p(x[i]);

}

</script>

 

通过指定分隔符,返回一个数组的字符串表达

方法join()通过指定分隔符,返回一个数组的字符串表达

<script>

function p(s){

  document.write(s);

  document.write("<br>");

}

var x = new Array(3,1,4);

p('数组x:'+x);

var y = x.join();

p('y = x.join() 得到的是数组x的字符串表达,其值是'+y+" 其类型是 :" +(typeof y));

var z = x.join("@");

p('z = x.join("@");x的字符串表达,不过分隔符不是默认的"," 而是"@" : '+z);

</script>

数组x:3,1,4
y = x.join() 得到的是数组x的字符串表达,其值是3,1,4 其类型是 :string
z = x.join("@");x的字符串表达,不过分隔符不是默认的"," 而是"@" : 3@1@4

 

分别在最后的位置插入数据和获取数据(获取后删除)

方法pushpop,分别在最后的位置插入数据和获取数据(获取后删除
就像先入后出的栈一样

<script>

function p(s){

  document.write(s);

  document.write("<br>");

}

var x = new Array(3,1,4);

p('数组x:'+x);

x.push(5);

p('xpush 5,得到 ' + x);

var e = x.pop();

p('xpop一个值出来,其值是 ' + e); 

p('pop之后,x数组的值是:'+x);

</script>

 

分别在最开始的位置插入数据和获取数据(获取后删除)

方法unshiftshift ,分别在最开始的位置插入数据和获取数据(获取后删除)

<script>

function p(s){

  document.write(s);

  document.write("<br>");

}

var x = new Array(3,1,4);

p('数组x:'+x);

x.unshift (5);

p('对数组 unshift 5(在最前面加),数组变为:' + x);

var e = x.shift ();

p('从数组中 shift 一个数(从最前面取),其值是:' + e);

p('shift之后,数组变为:' + x);

</script>

 

对数组的内容进行排序

方法 sort对数组的内容进行排序

<script>

function p(s){

  document.write(s);

  document.write("<br>");

}

var x = new Array(3,1,4,1,5,9,2,6);

p('数组x:'+x);

x.sort();

p('使用sort排序后的数组x:'+x);

</script>

 

自定义排序算法

sort()默认采用正排序,即小的数排在前面。 如果需要采用自定义排序的算法,就把比较器函数作为参数传递给sort()
比较器函数:

function comparator(v1,v2){

   return v2-v1;  //v2-v1表示大的放前面,小的放后面

}

调用sort函数的时候,把这个比较器函数comparator作为参数传递进去即可

x.sort(comparator);

 

数组内容反转

方法 reverse,对数组的内容进行反转

 

获取子数组

方法 slice 获取子数组
注意: 第二个参数取不到

 

删除和插入元素

方法 splice (不是 slice) 用于删除数组中的元素
奇葩的是 ,它还能用于向数组中插入元素

<script>

function p(s){

  document.write(s);

  document.write("<br>");

}

var x = new Array(3,1,4,1,5,9,2,6);

p('数组x:'+x);

x.splice (3,2);//从位置3开始 ,删除2个元素

p('x.splice (3,2) 表示从位置3开始 ,删除2个元素:'+x);

x.splice(3,0,1,5);

p('x.splice(3,0,1,5) 从位置3开始,删除0个元素,但是插入15,最后得到:'+x);

</script>

 

JavaScrip日期

创建日期对象

通过new Date创建一个日期对象,这个对象就表示当前日期(现在)

 

<script>

  var d = new Date();

  document.write('new Date():'+d);

</script>

 

new Date():Fri Aug 02 2019 17:42:55 GMT+0800 (中国标准时间)

 

//////毫秒

getMonth()返回的月数,是基零的,0代表1月份

d.getFullYear()/getMonth()+1/getDate()/getHours()/getMinutes()/getSeconds()/getMilliseconds()

 

一周的第几天

通过getDay()获取,今天是本周的第几天 
getMonth()一样,返回值是基0的。

<script>

var day=new Date().getDay(); //通过日期对象获取数字形式的星期几

var weeks = new Array("星期天","星期一","星期二","星期三","星期四","星期五","星期六");

document.write("今天是 "+weeks[day]);

</script>

 

经历的毫秒数

<script>

var time = new Date().getTime();

document.write("1970/1/1 08:00:00 到今天的毫秒数: "+ time);

</script>

 

修改日期和时间

<script>

var d=new Date();

document.write("修改日期对象的值为世界末日:<br>");

d.setFullYear(2012);

d.setMonth(11); //月份是基0的,所以11表示12

d.setDate(12);

d.setHours(0);

d.setMinutes(0);

d.setSeconds(0);

document.write(d);

</script>


Web文章检索

Web文章目录