Js 笔记 对象 数组去重 排序 倒计时 时间戳

99 阅读1分钟

// 自定义对象 内置对象 浏览器对象(Js特有) // 内置对象 // Math 对象 // 绝对值 console.log(Math.abs(1));// 1 console.log(Math.abs(-1));// 1 console.log(Math.abs('1'));// 1 console.log(Math.abs('casjcbs'));// NaN // 三个取整方法 // (1) Math.floor() 向下取整 (不管小数是几) console.log(Math.floor(1.1)); // 1

      // (2) Math.ceil() ceil 天花板 向上取整(不管小数是几)
      console.log(Math.ceil(1.1)); // 2

      // Math.round() 四舍五入 其他数字都是四舍五入但 .5 特殊往大取
      console.log(Math.round(1.3));// 1
      console.log(Math.round(1.5));// 2

      // Math.random()  对象随机数方法  返回一个随机数
      function getRandom(min,max) {
          return Math.floor(Math.random() * (max - min  + 1)) + min;
      }
      console.log(getRandom(1,10));

      // 随机点名
      var arr = ['你好','我好','大家好','逗号'];
      console.log(arr[getRandom(0, arr.length - 1)]);

  // 随机抽取一个数字  getRandom 小实例
  function getRandom(min,max) {
      return Math.floor(Math.random() * (max - min + 1)) + min;
  }
  var ans = getRandom(1,50);

  let i = 1
  while (i <= 10) {
      var num = prompt('请输入1——50之间的数 只有十次机会')
      if (num > ans) {
          alert('猜大了');
          i++;
      } else if (num < ans) {
          alert ('猜小了');
          i++;
      } else {
          alert ('猜对了');
          break;
      }
  }

  // Date() 日期对象 是一个构造函数 必须使用new 来调用创建我们的日期对象
  // var arr = new Arry();  创建一个数组对象
  var obj = new Object(); //创建一个对象实例
  // 1. 使用Date
  var date = new Date();
  console.log(date);

  // Date 总毫秒数(时间戳)  距离1970.1.1
  // 1. 基础写法
  var date = new Date();
  console.log(date.valueOf());
  console.log(date.getTime());
  // 2. 常用写法
  var date1 = +new Date();
  console.log(date1);
  // 3. H5新增的 获得总毫秒数
  console.log(Date.now());

  倒计时算法
  function countDown(time) {
      var nowTime = +new Date();// 总的时间戳
      var inputTime =  +new Date(time);// 用户输入的时间戳
      var times = (inputTime - nowTime) / 1000;//  剩余时间总秒数
      var d = parseInt(times / 60 / 60 / 24) ;
      d = d < 10 ? '0' + d : d;
      var h = parseInt(times / 60 / 60 % 24);
      h = h < 10 ? '0' + h : h;
      var m = parseInt(times / 60 % 60);
      m = m < 10 ? '0' + m : m;
      var s = parseInt(times % 60);
      s = s < 10 ? '0' + s : s;
      return d + '天 ' + h + '时' + m + '分' + s + '秒';
  }
  console.log(countDown('2022-10-1 18:00:00'));

  // 倒计时案例
  function countDown(time) {
      var nowTime = +new Date();
      var inputTime = +new Date(time);
      var times = (inputTime - nowTime) / 1000;
      var d = parseInt (times / 60 / 60 / 24);
      d = d < 10 ? '0' + d : d;
      var h = parseInt (times / 60 / 60 % 24);
      h = h < 10 ? '0' + h : h;
      var m = parseInt (times / 60 % 60);
      m = m < 10 ? '0' + m : m;
      var s = parseInt (times % 60);
      s = s < 10 ? '0' + s : s;
      return d + '天' + h + '时' + m + '分' + s + '秒';
  }
  console.log(countDown('2022-11-01 10:00:00'));

  // 数组对象
  // 创建数组  两种方式
  // 字面量创建     newArry 创建
  var arr = [1,2,3];
  console.log(arr);

  var arr1 = new Array(2,3);
  console.log(arr1);
  // 检测是否为数组  两种方法
  // 运算符方法  instanceof Array
  var arr = [];
  console.log(arr instanceof Array);
  // H5 新增   Array.isArray
  console.log(Array.isArray(arr));

  // 添加删除数组
  // 1. push() 在我们数组的末尾 添加或一个或多个元素
  // 参数直接写数组元素
  // 完毕后返回的是新数组的长度
  // 原数组会发生变化
  var arr = [1,2,3];
  arr.push(4);
  console.log(arr);

  // unshift 在数组开头创建一个或多个元素
  // 参数直接写数组元素
  // 完毕后返回值是新数组的长度
  // 原数组会发生变化
  arr.unshift('red','purple');

  // pop()删除数组的最后一个元素  一次只能删除一个元素
  // pop()没有参数
  // pop()没有返回参数 返回删除元素的值
  // 原数组会发生变化
  console.log(arr.pop());
  console.log(arr);

  // shift()删除数组的最后一个元素  一次只能删除一个元素
  // shift()没有参数
  // shift()没有返回参数 返回删除元素的值
  // 原数组会发生变化
  console.log(arr.shift());
  console.log(arr);

  // 案例  筛选数组
  var arr = [1500,1200,2000,2100,1800];
  var newArr = [];
  for (var i = 0; i < arr.length; i++) {
      if (arr[i] < 2000) {
          // newArr[newArr.length] = arr[i];
          newArr.push(arr[i]);
      }
  }
  console.log(newArr);

  // 数组排序
  // 1.翻转数组
  var arr = ['jas','ahfi','ifwiq'];
  arr.reverse();
  console.log(arr);

  // 2.数组排序(冒泡排序)
  var arr1 = [13,4,2,77,25];
  arr1.sort(function (a,b) {
          return a - b;//升序  b - a 降序
      });
      console.log(arr1);

  // 返回数组元素索引号方法 indexOf(数组元素)  作用就是返回该元素的索引号
  // 只返回第一个满足条件的索引号
  // 如果找不到元素,则返回-1
  var arr = ["red", "pink", "blue", "purple"];
  console.log(arr.indexOf("red"));

  // 数组去重
function unique(arr) {
    var newArr = [];
    for (var i = 0; i < arr.length; i++) {
        if (newArr.indexOf(arr[i]) === -1) {
            newArr.push(arr[i]);
        }
    }
    return newArr;
}
var demo = unique(['blue','green','blue'])
console.log(demo);

  //数组过滤 拿一个数组的元素或者元素的属性值对另外一个数组进行过滤 
    let arr1 = [0, 3, 4,1];
    let arr2 = [
        { a: "2", b: "学习" },
        { a: '3', b: "过滤" },
        { a: '4', b: "筛选" },
        { a: '5', b: "便利" },
        { a: '6', b: "遍历" },
        { a: '7', b: "dawdawdad" },
    ];
  let arr3=[]
  arr2.forEach((item,index)=>{
    if(!arr1.includes(index)){
        arr3.push(item)
    }
  })
    console.log("dadwad",arr3);