JS学习笔记——Date、Array

来源:互联网 发布:手机相机软件大全 编辑:程序博客网 时间:2024/05/16 03:33

1.Date

返回object:new Date()
返回number:Date.parse("2017.4.19")Date.UTC(2017,0)Date.now()

var now = new Date();//获取当前时间,变量now是objectvar before = new Date(1000);//获取距离UTC 1000毫秒的时间,变量before是object//变量now是该时间距离UTC的毫秒数,参数是字符串//格式有许多可选,"2017.4.19"、"4/19/2017"等格式都可以var now = Date.parse("April 19, 2017");var now = Date.UTC(2017,3,19,21,24,26)//变量now是该时间距离UTC的毫秒数,该时间指2017.4.19 22:24:26var now = Date.now();//变量now是目前时间距离UTC的毫秒数

2.Array

//检测数组//isArray()方法检测变量是否是数组var arr = [];Array.isArray(arr);//true//转换成字符串//join()方法将数组连接成字符串,返回字符串,原数组不变var arr = [1,2,'x'];var str = arr.join('-');//返回字符串"1-2-x"//栈方法,先进后出var arr = new Array();arr.push('a','b');arr.push('c');arr.pop();//c,返回最后一个进去的元素//队方法,先进先出var arr = new Array();arr.push('a','b');arr.push('c');arr.pop();//a,返回第一个进去的元素//重排序方法,这两个函数的返回值都是重排序之后的数组,原数组不变//reverse()方法不看内容,倒序排列;sort()方法按照传入的函数排列var arr = [12,0,33,6,1];arr.reverse();//单纯将arr从后往前排列,跟内容无关arr.sort(func);//接受一个比较函数//操作元素方法//concat()方法在原数组的基础上添加元素,返回新数组,原数组不变;//slice()方法在原数组的基础上删除元素,返回新数组,原数组不变;//splice()方法在原数组的基础上添加和删除元素,原数组改变,返回被从原数组中删除的元素var arr = ['a','b'];var arr2 = arr.concat('c');//arr不变,arr2是arr的副本添加元素c之后的结果var arr = ['a','b'];//arr不变,arr2是arr的副本经过裁剪之后的结果。裁剪的规则是[s,e)左开右闭,s和e都是数组索引var arr2 = arr.slice(s,e);//如果索引中有负数,需要加上数组的长度变为正数进行计算var arr = ['a','b'];var ar2 = arr.splice(s,n,'xxx',...);//arr改变,从s位置删除n个元素并添加后面的元素;arr2由从arr中删除掉的元素组成//位置方法//indexOf()方法和lastIndexOf()方法查找数组并返回结果的索引var arr = ['a','b','a'];arr.indexOf('a',n);//从位置n向右(数组末尾)查找元素'a'//有两点要注意:1.查找使用全等===; 2.两个引用类型的值相同,不代表引用1==引用2arr.lastIndexOf('b',n)从位置n向左(数组开头) //迭代方法(都不会修改原数组中的值)//每个迭代方法的第一个参数接受一个迭代函数,该迭代函数接收三个参数:元素的值,元素的索引,数组本身。//参数含义跟顺序有关,跟变量名称无关。除了forEach(),其他方法都是返回值,且第一个参数的迭代函数也有返回值。//every()判断所有元素是否满足条件,“every”每一个都满足了,才返回true;//some()判断是否有某一个元素满足条件,“some”某一个都满足了,就返回true;//map()把每个元素映射成其他值,返回映射后的新数组//filter()过滤掉不满足条件的元素,返回满足条件的元,组成数组//forEach()无返回值,相当于for循环遍历每个元素var arr = [1,2,3,4,3,2,1];var res = arr.every(function(item, index, array){    return (item > 2);});//res是falsevar res = arr.some(function(item, index, array){    return (item > 2);});//res是truevar res = arr.filter(function(item, index, array){    return (item > 2);});//res是[3,4,3]var res = arr.map(function(item, index, array){    return (item * 2);});//res是[1,4,6,8,6,4,1]arr.forEach(function(item, index, array){    array[index] = item * 2;});//res是[1,4,6,8,6,4,1]
0 0
原创粉丝点击