js能力提高(五) 日期、math、数组和对象的API

本文探讨JavaScript中关于日期处理、Math运算、数组操作及对象API的使用,通过实例讲解和面试题目的解析,帮助提升JS编程能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.日期

Date.now()  // 获取当前时间毫秒数
var dt = new Date()   
dt.getTime()  // 获取毫秒数
dt.getFullYear()  // 年
dt.getMonth() // 月 (0-11)
dt.getDate()  // 日 (0-31)
dt.getHours() // 时  (0-23)
dt.getMinutes() // 分钟 (0-59)
dt.getSeconds() // 秒 (0-59)

2.Math

Math.random()    // 获取随机数

3.数组API

1.forEach 遍历所有元素

var arr = [1,2,3]
arr.forEach((item,index)=>{
  // 遍历数组所有的元素
  console.log(index, item); 
})

-----------------------------

2.every 判断所有元素是否都符合条件

var arr = [1,2,3]

let result = arr.every((item, index)=>{
  // 用来判断所有的数组元素,都满足条件
  if (item < 4) {
    return true;
  }
})
console.log(result);

-----------------------------

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

var arr = [1,2,3]

let result = arr.some((item, index)=>{
  // 用来判断所有的数组元素,只要有一个满足条件即可
  if (item === 2) {
    return true;
  }
})
console.log(result);

-----------------------------

4.sort 排序

var arr = [1,2,3,9,5,0]

var arr2 = arr.sort((a,b)=>{
  // 从小到大排序
  return a - b;

  // 从大到小排序
  // return b - a;
})
console.log(arr2);

-----------------------------

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

var arr = [1,2,3,4]

var arr2 = arr.map((item, index)=>{
  // 将元素重新组装,并返回
  return '<b>' + item + '</b>'
})
console.log(arr2);

-----------------------------

6.filter过滤符合条件的元素

var arr = [1,2,3,4]

var arr2 = arr.filter((item, index)=>{
  // 通过某个条件过滤数组
  if (item > 2) {
    return true;
  }
})
console.log(arr2);

4.对象API

var obj = {
  x: 100,
  y: 200,
  z: 300
}

for (key in obj) {
  if (obj.hasOwnProperty(key)){
    console.log(key, obj[key])
  }
}

 

面试题目

1.获取2019-09-23格式的日期

function formatDate(dt) {
  if (!dt) return;
  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 dt = new Date()
var formatDate = formatDate(dt)
console.log(formatDate)

2.获取随机数,要求是长度一致的字符串格式

var random = Math.random()
random = random + '00000000000'
random = random.slice(0,10)

3.写一个能遍历对象和数组的通用forEach函数

function forEach(obj,fn) {
  if(obj instanceof Array) {
    // 准确判断是不是数组
    obj.forEach((item,index)=>{
      fn(item,index)
    })
  } else {
    // 不是数组就是对象
    for (key in obj) {
      console.log(obj,'obj')
      fn(key,obj[key])
    }
  }
}

var arr = [1,2,9]
forEach(arr,(index, item)=>{
  console.log(index, item)
})

var obj = {
  a:100,
  b:200
}

forEach(obj,(key, value)=>{
  console.log(key, value)
})

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值