zoukankan      html  css  js  c++  java
  • 每日思考(2020/08/20)

    题目概览

    • ol和ul标签的区别
    • CSS的overflow属性定义溢出元素内容区的内容会如何处理
    • 写个方法随机打乱一个数组

    题目解答

    ol和ul标签的区别

    • ul有序列表、ol无序列表

      <ul>
        <li>Coffee</li>
        <li>Tea</li>
        <li>Milk</li>
      </ul
          
      <ol>
        <li>Coffee</li>
        <li>Tea</li>
        <li>Milk</li>
      </ol>
      
    • 两个符号都可以修改、也可以改成图片,但是type支持的类型不一样

    • 还有个dl自定义列表

      <dl>
         <dt>计算机</dt>
         <dd>用来计算的仪器 ... ...</dd>
         <dt>显示器</dt>
         <dd>以视觉方式显示信息的装置 ... ...</dd>
      </dl>
      

    CSS的overflow属性定义溢出元素内容区的内容会如何处理

    • visible(默认值):溢出的内容会照常显示在元素内容区之外;
    • hidden:溢出的内容会被裁剪;
    • scroll:溢出的内容会出现在滚动区,通过滚动条滚动可以看到;
    • auto:当内容溢出时表现同scroll
    • 参考文档:overflow - CSS(层叠样式表) | MDN

    写个方法随机打乱一个数组

    //随机交换
    function shuffle(arr) {
        arr.forEach((_, idx) => {
            const targetIdx = Math.floor(Math.random() * arr.length);
            [arr[idx], arr[targetIdx]] = [arr[targetIdx], arr[idx]]
        })
        return arr
    }
    
    shuffle([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
    // => [6, 4, 1, 8, 5, 2, 10, 9, 3, 7] or else
    
    //打乱下标(慢了 300-1000 倍左右)
    function shuffleSubscript(n) {
        const arr = new Array(n)
        for (let i = 0; i < n; i++) {
            let val
            do val = Math.floor(Math.random() * n)
            while (arr.includes(val))
            arr[i] = val
        }
        return arr
    }
    
    function shuffle(arr) {
        return shuffleSubscript(arr.length).map(s => arr[s])
    }
    
    shuffle([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
    // => [7, 4, 5, 8, 6, 3, 1, 2, 10, 9] or else
    
    function shuffle(arr) {
        let new_arr = arr.map(i => ({v: i, r: Math.random()}));
        new_arr.sort((a, b) => a.r - b.r);
        arr.splice(0, arr.length, ...new_arr.map(i => i.v));
    }
    
    let a = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'];
    let n = 10000;
    let count = (new Array(a.length)).fill(0);
    
    for (let i = 0; i < n; i ++) {
        shuffle(a);
        count[a.indexOf('a')]++;
    }
    
    console.log(count);
    
    function shuffle(arr) {
        let i = arr.length;
        while (i) {
            let j = Math.floor(Math.random() * i--);
            [arr[j], arr[i]] = [arr[i], arr[j]];
        }
    }
    
  • 相关阅读:
    从官方下载 Bootstrap 版本 并写 第一个页面
    南阳477
    南阳463
    南阳455
    南阳399
    南阳276
    南阳275
    南阳268
    南阳264
    南阳263
  • 原文地址:https://www.cnblogs.com/EricZLin/p/13538866.html
Copyright © 2011-2022 走看看