1.数组API
(1) forEach 遍历所有元素 var arr = [1,2,3] arr.forEach(function( item,index ){ //参数顺序规定 item , index console.log(index,item) //遍历数组所有元素 }) (2) every 判断所有元素是否都符合条件 var arr = [1,2,3] var result = arr.every(function( item,index ){ //注意参数顺序 if( item < 4 ){ //用来判断所有的数组元素都满足一个条件 return true; } }) console.log(result) //true 都符合,否则false (3) some 判断是否至少有一个元素符合条件 var arr = [1,2,3] var result = arr.some(function( item,index ){ //注意参数顺序 if( item < 2 ){ //用来判断所有的数组元素,只要有一个满足条件即可 return true; } }) console.log(result) //true (4) sort 排序 var arr = [1,4,2,3,5] var arr2 = arr.sort(function (a, b){ // return a - b //从小到大排序 return b - a //从大到小排序 }) console.log(arr2) //[5,4,3,2,1](5) map 对元素重新组装,生成新数组 var arr = [1,2] var arr2 = arr.map(function (item, index){ //注意参数顺序 return ''+ item + '' //将数组元素重新封装并返回 }) console.log(arr2) //["1","2"](6)filter 过滤符合条件的元素 var arr = [1,2,3] var arr2 = arr.filter(function (item, index){ if( item >= 2){ //通过某一个条件过滤数组 //注意参数顺序 return true } }) console.log(arr2) //[2,3]
2.对象API
var obj = {a:10,b:20,c:30}var keyfor (key in obj){ if(obj.hasOwnProperty(key)){ console.log(key,obj[key]) }}
3.日期
(1) Date.now() //获取当前时间毫秒数(2)var d = new Date() dt.getTime() //获取当前时间毫秒数
4.Math
Math.random()常用于清除缓存(例:频繁访问一个链接会有缓存,链接后面加random,每次访问都会变,随时改变清除缓存)
相关问题:
(1) 获取 2018-05-18 格式的日期: function date(dt){ if(!dt){ dt = new Date() //获取当前时间戳 } var year = dt.getFullYear() var month = dt.getMonth() + 1 var date = dt.getDate() if(month < 10){ month = '0' + month //强制类型转换 } if(date < 10){ date = '0' + date } return year + '-' + month + '-' + date } var d = new Date() var formatDate = date( d )(2) 获取随机数,要求时长度一致的字符串格式: var random = Math.random() random = random + '0000000000' //后面加上10个0 (假如slice(0,4)也不会报错) random = random.slice(0,10) //slice相当于复制,复制出一个新数组,不改变原数组(3)写一个能遍历对象和数组的通用forEach函数 function forEach(obj, fn ){ var key if (obj instanceof Array){ //判断是不是数组 obj.forEach(function(item, index){ fn(index ,item ) }) }else { for(key in obj){ if(obj.hasOwnProperty(key)){ fn(key,obj[key]) } } } }