javascript(时间、数组、字符串方法)


title: javascript(时间、数组、字符串方法)
date: 2017-06-01 10:25:43
tags: javascript笔记


日期对象

常用方法

new Date() 获取当前时间

以下获取的都是数值类型,get是获取时间,将get改为set后面的不变就是设置时间。

getFullYear() 获取年

getMonth() 获取月份,从0开始算

getDate() 获取天

getDay() 获取星期几,0是周日

getHours() 获取小时

getMinutes() 获取分钟

getSeconds() 获取秒

getMilliseconds() 获取毫秒

getTime() 时间戳,返回从1970年1月1日0点0分0秒0毫秒开始计算的毫秒时间。

getTimezoneOffset() 获取本地时间与格林威治标准时间的分钟差。

parse() 返回从1970年1月1日到指定日期(字符串)的毫秒数。

UTC() 根据世界时间返回从1970年1月1日到指定日期(字符串)的毫秒数。

以上获取时间的方法在get后加上UTC就是根据世界时间获取,例如getUTCHours()就是根据世界时间返回小时数。

获取一个时间点

设定一个时间点new Date(2017,4,22,22,48,20); 得出的是毫秒。

也可以通过new Date('November 10,2013 22:3:0');来获取。主要是用来计算倒计时用到。

秒的转换

秒转为天:Math.floor(秒 / 86400)

秒转为小时:Math.floor(秒 % 86400 / 3600)

秒转为分钟:Math.floor(秒 % 86400 % 3600 / 60)

秒转为秒:秒 % 60

英文的月份

一月 January、二月 February、三月 March、四月 April、五月 May、六月 June、七月 July、八月 August、九月 September、十月 October、十一月 November、十二月 December。

字符串的方法

length

字符串长度,字符串里的空格也占用一个长度

charAt()

返回字符串索引位置的字符,如果不传参数默认获取第一个。

var str = 'abs';
alert(str.charAt(1))   // b
alert(str.charAt())   // a

charCodeAt()

返回字符串索引位置的字符的Unicode值。使用方法同上。

charCodeAt()

使用方式和charAt相同,区别是返回的是字符的编码值

String.fromCharCode()

参数里输入一个编码,返回相对应的字符,多个编码用逗号间隔

indexOf()

返回查找字符在字符串中的索引位置,没找到返回-1。

'str'.indexOf('t') //1返回t在字符串str中的索引位置。

'strstr'.indexOf('t',2) // 4从strstr字符串的索引2的位置r之后开始找t的位置。不能是负数。

indexOf()每次只能返回查找到的第一个索引位置,如果要查找所有的索引位置需要写一个循环

var str = 'aaabaaababaaaaaaaabaaab';
var s = 'b';
var i = 0;
while( str.indexOf(s,i) != -1 ){
    alert( str.indexOf(s,i) );
    i = str.indexOf(s,i) + s.length;
}

这个循环会打印b在字符串中的所有索引位置

lastIndexOf()

和indexOf()相对应,indexOf()是从左往右找,lastIndexOf()是从右往左找。第二个参数索引值也是从右向左查找。

字符串的大小比较

中文字符也是可以进行比较的,比如'山东' > '青岛',比较的是第一个字符的编码值的大小,也就是山的编码值和青的编码值的比较,和后面的所有字符没有关系。

同样的道理,'aaaabbbb' > 'c',比较的是a和c的大小,和后面字符没有关系。'1000' > '2'比较的也是1和2的编码值的大小。

substring()

截取类方法,对字符串当中的某些文字进行截取。负数会直接当0来处理。

传入一个参数时,从字符串的参数数值的索引位置开始截取后面的所有内容。

传入两个参数时,截取字符串参数一的索引到参数二的索引之间的字符。另外,如果第二个参数比第一个参数小那么会自动调换两个参数的位置。

var str = 'abcdefg';
alert(str.substring(4);  // efg  
alert(str.substring(0,2);  // ab  

slice()

和substring()用法基本一样。但是传两个参数时不会交换位置。

和substring()方法不同的是:

只传入一个参数并且是负数,那么就是从字符串的最后开始截取。

传入两个参数,通常第一个是负数第二个也是负数,截取两个参数索引之间的字符

var str = 'abcdefg';
alert(str.slice(-1))  // f
alert(str.slice(-4,-2))  // cd

toUpperCase()

字符串转为大写,只能针对英文

toLowerCase()

字符串转为小写,只能针对英文

split()

将字符串分割为数组。参数是按照什么字符分割,如果不传参数默认会将整个字符串当做一个数组的一个元素。

var str = 'www.baidu.com';
alert(str.split('.'))  // ['www','baidu','com'];

var str1 = 'abc';
alert(str1.split(''))   // ['a','b','c'];

第二个参数是限制截取多少段。

var str = '2017-05-27-19-47';
alert(str.split('-',3));   // ['2017','05','27']

replace()

替换字符串,第一个参数是要查找的字符串,也可以通过正则表达式查找。第二个参数是要替换的内容。

var str = 'abcdefg';
console.log(str.replace('abc','ccc'))    // 打印cccdefg
console.log(str.replace(/^a/,'ccc'))     // 打印cccbcdefg

数组的方法

push()

在数组最后一位添加一个元素,返回值是增加后的数组的长度。

unshift()

在数组第一位插入一个元素,返回值是增加后的数组的长度。ie6、ie7不支持这个方法的返回值。

pop()

从数组的最后删除一个元素,返回值是删除的那个元素。

shift()

从数组的开头删除一个元素,返回值是删除的那个元素。

splice()

splice方法可以删除、替换、添加

删除时候可以传两个参数,第一个是开始删除的索引,第二个是删除的长度。返回值是删除的元素。

替换的话将要替换的内容写在第二个参数之后。返回值仅是被删除的内容。

添加的时候第一个参数是要添加的后面那个元素的索引,第二个参数是0,代表不替换,要添加的元素写在第二个参数之后。没有返回值

var arr = ['a,'b','c','d','e'];
arr.splice(0,2)   // arr = ['c','d','e']
arr.splice(0,2,'z','x')   // arr = ['z','x','c','d','e']
arr.splice(1,0,'x')   // arr = ['a','x','b','c','d','e']

slice()

返回从原数组中指定开始下标到结束下标之间的元素组成的新数组。只传一个参数那就是获取到最后,不会改变原数组

var arr = [1,2,3,4,5,6];
console.log(arr.slice(2))      // 打印[3,4,5,6]
console.log(arr.slice(2,4))      // 打印[3,4]

sort()

对数组进行排序,默认全部按照字符串的规则进行排序,会将数字转为字符串,然后按照字符串的比较方式,由小到大排序。

var arr = [4,3,2,30];
arr.sort();  // arr = [2,3,30,4]

要按照数值类型来排序的话需要在sort内部写一个函数

arr = [4,3,2,30];
arr.sort(function(a,b){
    return a - b
})

这里用a-b代表从小到大排序,意思是第一个数减第二个数。

也可以b-a是从大到小排序。是第二个数减第一个数。

只要return 为true,那么就会换位置。

join()

将数组转为字符串,用传入的参数去分割数组每个元素,组成一个字符串,如果不传参数默认用逗号分割。

concat()

将多个数组拼接起来,参数可以传过个,传几个就连接几个,会拼成一个新的数组,不会改变原来的数组。

var arr1 = [1,2,3];
var arr2 = [4,5,6];
alert(arr1.concat(arr2));  // [1,2,3,4,5,6]    

reverse()

颠倒数组内部元素的位置。对字符串也可以进行操作,只是从头到尾颠倒位置。不会进行比较。

var arr = [1,2,3,4];
arr.reverse();    // arr = [4,3,2,1]

toString()

把数组转换为字符串,字符串包含逗号。

Math系列方法

Math.round()

对参数进行四舍五入操作。

Math.abs()

返回参数的绝对值。

Math.ceil()

对参数进行向上取整

Math.floor()

对参数进行向下取整

Math.max()

传两个参数,返回两数中的最高值

Math.min()

传两个参数,返回两数中的最低值

Math.pow()

传递两个参数,第二个参数是幂,返回第一个参数的几次幂

Math.sqrt()

返回参数的平方根

Math.random()

产生0-1之间的随机数

随机数方法经常使用,比如要生成5-10之间的随机数

当求一个x-y之间的数公式就是:Math.round( Math.random() * ( y - x ) + x )

Math.round( Math.random() * 5 + 5 )

通常第二个数是区间中下限的数,第一个数是区间上限的数与第二个加的数的差值。现在生成的就是5-10之间的随机数,并且包括5和10本身,如果想不包含5那就调整第一个数,想不包含10那就调整第二个数。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,205评论 0 4
  • 第1章 认识JS JavaScript能做什么?1.增强页面动态效果(如:下拉菜单、图片轮播、信息滚动等)2.实现...
    mo默22阅读 1,238评论 0 5
  • 最近好压抑呀,大宝写个作业一眼瞅不到就能把头低的碰到桌子,专门做的防低头头套他不戴给拆了,恨不得弄个录音机在他耳边...
    星昊奇缘阅读 180评论 0 2
  • 风经过指间的感觉, 盈握不住时光的蹉跎, 抚平不回浮萍的跌宕, 感慨删繁就简, 最后还是迷恋未雨绸缪, 而今, 夏...
    畅二狗阅读 323评论 1 3
  • 今天早上起来就带女儿去中医院开药,在去的路途中,发现昆明现在在创建文明城市,的确是提醒了自己,慢慢的自己也开...
    李代唐阅读 128评论 0 0