bq4nqidt的知识库

面试题

由bq4nqidt创建,最终由bq4nqidt 被浏览 17 用户

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
<script>
    //给定数组,求数组中最大元素的下标
   function x(){
    let arr = [1,5,4,3,8,6];
    if(!arr.length)return
   if(arr.length ===1)return 0
   console.log('最大值的下标为',arr.indexOf( Math.max(...arr)));
   }
   x()
   //给一个有序数组,计算出现次数最多的元素
   let arr = [1, 1,1,1,1, 2, 3, 4, 5, 5, 5, 6]
   function findMost(arr) {
    if (!arr.length) return
    if (arr.length === 1) return 1
    let res = {}
    let maxName, maxNum = 0
    // 遍历数组
    arr.forEach((item) => {
      res[item] ? res[item] += 1 : res[item] = 1
    })
    // 遍历 res
    for (let r in res) {
      if (res[r] > maxNum) {
        maxNum = res[r]
        maxName = r
      }
    }
    console.log('出现次数最多的元素为:' ,maxName,'出现次数为:' , maxNum)}
    findMost(arr);
    //给定一个严格递增的有序数组,找到两个数字其和等于给定数字,输出有多少种情况
    function getIndexArr(array,target){
	for (let i = 0; i < array.length; i++) {
		for (let j = i + 1; j < array.length; j++) {
			if (array[i] + array[j] === target) {
				console.log('值为',target,'由',array[i],'+',array[j]);
			}
		}
	}}
    getIndexArr([1, 2, 3, 4, 5, 6, 9],10)
    //给定两个时间,计算相差的天数(自己写代码实现,不使用系统时间实现)
    function  getDiffDay(date_1, date_2) {
    // 计算两个日期之间的差值
    let totalDays,diffDate
    let myDate_1 = Date.parse(date_1)
    let myDate_2 = Date.parse(date_2)
    // 将两个日期都转换为毫秒格式,然后做差
    diffDate = Math.abs(myDate_1 - myDate_2) // 取相差毫秒数的绝对值
 
    totalDays = Math.floor(diffDate / (1000 * 3600 * 24)) // 向下取整  
    console.log('相差的天数',totalDays); 
    }
   // 使用
   getDiffDay('2021-10-1', '2022-8-25')    // 32
   //给定一个有序数组,去掉重复元素
   function getset(arr){
    if(!arr.length) return;
    if(arr.length==1) return arr;
    let newarr = new Set(arr)
    console.log(newarr);
   }
   getset([1,2,3,3,3,4,4,5,5,5])
</script>

\

{link}