前端JS算法之打印星星

在这里插入图片描述

第一种(左直角)

function theOutputOne(n) {
    let star = '';
    for(let i = 0; i < n; i++) {
        star += '*' 
        console.log(star)
    }
}
theOutputOne(11)

在这里插入图片描述

第二种(右直角)

function theOutputTwo(n) {
    let star = '';
    for(let i = 0; i < n; i++) {
        let space = '';
        for(let j = 0; j < n - 1 - i; j++) {
            space += " ";
        }

        star += '*'
        console.log(space + star)
    }
}
theOutputTwo(11)

在这里插入图片描述

第三种(等腰三角)

function theOutputThree(n) {
    for(let i = 0; i < n; i++){
        let star = "";
        for(let j = 0; j < 2 * i + 1; j++){
            star += "*";
        }
        let space= "";
        for(let j = 0; j < n - 1 - i; j++){
            space += " ";
        }
        console.log(space + star);
    }
}

在这里插入图片描述

第四种(倒左直角)

function theOutputOneFour(n) {
    for(let i = 0; i < n; i++){
        let star = "";
        for(let j = 0; j < n - i; j++){
            star += "*";
        }
        console.log(star);
    }
}
theOutputOneFour(11)

在这里插入图片描述

第五种(站起来的钝角)

function theOutputFive(n) {
    let star = "";
    for(let i = 0; i < n / 2; i++){
        star += "*";
        console.log(star);
    }
    for(let i = 0; i < parseInt(n / 2); i++){
        let star = "";
        for(let j = 0; j < parseInt(n / 2) - i; j++){
            star += "*";
        }
        console.log(star);
    }  
}
theOutputFive(11)

在这里插入图片描述
就先写这几种吧,大家如果有需要其他类型的,可以评论区留言。或者大家有其他样式的写法也可以留言哦。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前端的diff算法在虚拟DOM的实现中起着重要的作用,它用于比较两个虚拟DOM树的差异,然后只对差异部分进行更新,以提高性能和效率。在面试中,可能会问到一些与前端diff算法相关的问题。以下是一些常见的问题和答案供参考: 1. 什么是前端diff算法前端diff算法是指用于比较两个虚拟DOM树之间差异的算法。通过比较新旧虚拟DOM树的差异,可以确定需要更新的部分,从而减少不必要的页面重绘和重新渲染,提高性能和效率。 2. 常见的前端diff算法有哪些? 常见的前端diff算法包括: - O(n²)算法:遍历新旧节点进行比较,时间复杂度为O(n²),性能较差。 - O(n)算法:采用双指针或者哈希表等方式,将遍历时间复杂度优化为O(n),例如React中采用的Virtual DOM diff算法。 - Fiber算法:React Fiber算法是一种增量渲染算法,通过将更新操作拆分为多个单元,可以在每个帧中执行一部分工作,从而提高用户体验。 3. React中采用的前端diff算法是什么? React中采用的是一种基于O(n)算法的Virtual DOM diff算法。该算法通过遍历新旧虚拟DOM树的节点,对比差异并更新只有差异的部分,以提高性能。 4. 前端diff算法的优化策略有哪些? 前端diff算法可以通过以下优化策略提高效率: - 对比时忽略静态节点:对比时可以忽略没有变化的静态节点,减少不必要的对比操作。 - 使用唯一标识符:给每个节点添加唯一标识符,可以更精确地确定哪些节点需要更新。 - 列表元素的优化:在对比列表元素时,可以使用Key属性标识唯一性,以减少重新排序和重渲染的开销。 这些问题涵盖了前端diff算法的概念、常见算法以及优化策略。在面试中,你可以根据自己的理解和经验进行回答。希望对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值