JS基础知识(五)数组日期

数组日期

问题:

  1. 获取2017-06-10格式的日期
  2. 获得随机数,要求是长度一致的字符串格式
  3. 写一个能遍历对象和数组的通用forEach函数
     

知识:

    1.日期:

     通过new Date().now()得到:1970开始到现在的毫秒数

	//Date
	console.log(Date.now()) //当前时间毫秒数、

	var dt = new Date()
	console.log(dt)

	console.log(dt.getTime())
	console.log(dt.getFullYear())
	console.log(dt.getMonth()) //month从0-11 要记得加1
	console.log(dt.getDate())

	console.log(dt.getHours())
	console.log(dt.getMinutes())
	console.log(dt.getSeconds())

2.Math:

    获得随机数 Math.random(),可以通过这个random来清理缓存。

3.数组API

(1)forEach 遍历所有元素
 

	//forEach
	var arr = [1, 5, 2, 4,7]
	arr.forEach(function(item, index) {
		console.log(index, item)
	})

    先item,再index注意顺序

(2)every 判断所有元素是否都复合条件

	//every
	var result = arr.every(function(item, index) {
		if (item < 5) {
			return true
		}
	})
	console.log(result)

(3)some 判断是否至少有一个元素符合条件

	//some
	var result2 = arr.some(function(item, index) {
		if (item < 5) {
			return true
		}
	})
	console.log(result2)

(4)Sort 排序

//sort
	var arr2 = arr.sort(function(a, b) {
		return a - b // a-b 从小到大
	})
	console.log(arr2)

(5)map 对元素重新组装,生成新数组

//map
	var arr3 = arr.map(function(item, index) {
		return '<b>'+ item + '<b>'
	})
	console.log(arr3)

(6)filter 过滤符合条件的元素

//filter
	var arr4 = arr.filter(function(item, index) {
		if (item > 2) {
			return true
		}
	})
	console.log(arr4)

 4.对象api

	var obj = {
		x: 100,
		y: 200,
		z: 300
	}
	var key
	for(key in obj) {
		console.log(key , obj[key])
	}

解答: 

  1. 获取2017-06-10格式的日期
    	var ds = new Date()
    	var year = ds.getFullYear()
    	var month =ds.getMonth()+1
    	var day = ds.getDate()
    	function formateDate(dt) {
    		if (!dt) {
    			dt =  new Date()
    		}
    		var year = dt.getFullYear()
    		var month =dt.getMonth()+1
    		var day = dt.getDate()
    		if (month < 10) {
    			month = '0'+month
    		}
    		if (day < 10) {
    			day = '0' + date
    		}
    		return year + '-' + month + '-' +day
    	}
    	console.log(formateDate(ds))
    	
    	
  2. 获得随机数,要求是长度一致的字符串格式
     
    	//长度一致先加00再slice
    	var random = Math.random()
    	random = random + '000000000'
    	random = random.slice(0,10)
    	console.log(random)
    	
  3. 写一个能遍历对象和数组的通用forEach函数
     
    	function forEach(obj) {
    		var key
    		if (obj instanceof Array) {
    			obj.forEach(function(item, index){
    				console.log(index, item)
    			})
    		} else {
    			for(key in obj) {
    				console.log(key, obj[key])
    			}
    		}
    	}
    	forEach(obj);
    	forEach(arr2);

猜你喜欢

转载自blog.csdn.net/qq_37021554/article/details/84703156