前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前端博客微信群一周面试题汇总

前端博客微信群一周面试题汇总

作者头像
前端开发博客
发布2020-11-04 15:13:33
2720
发布2020-11-04 15:13:33
举报
文章被收录于专栏:前端开发博客

以下题目来自前端开发博客微信群每日一道面试题汇总,由管理员整理而成的附上答案。希望对你们有用,以后每周都会有。

1.请用一行代码实现数组扁平化?

代码语言:javascript
复制
/**
  * 数组扁平化(方式一)
  * @param {Array} arr 数组
  */
function flat1 (arr) {
  return [].concat(...arr.map(v => Array.isArray(v) ? flat1(v) : v))
}
/**
  * 数组扁平化(方式二)
  * @param {Array} arr 数组
  */
function flat2 (arr) {
  return arr.flat(Infinity)
}

2.请在不使用Set的情况下实现数组去重?

代码语言:javascript
复制
/**
  * 数组去重复
  * @param arr {Array} 数组
  */
function unique(arr){
    return arr.filter((v, i) => Object.is(i, arr.indexOf(v)))
}

3.计算一个字符串中出现重复字符的个数(不区分大小写)?

代码语言:javascript
复制
/**
  * 出现重复字符的个数
  * @param {String} text 字符串
  */
function duplicateCount (text) {
  return (text.toLowerCase().split('').sort().join('').match(/(.)\1+/g) || []).length
}

4.已知DNA是双链结构,由4种碱基对构成,A和T互相配对,C和G互相配对,若有任意一条DNA单链,求配对的单链?

代码语言:javascript
复制
function DNAResolve (dna) {
    return dna.replace(/(A|T|C|G)/gi, function($1){
        return {
            A: 'T',
            T: 'A',
            C: 'G',
            G: 'C'
        }[$1]
    })
}

5.写一个将字符串转驼峰式的函数

代码语言:javascript
复制
function camelCase (str) {
  return str.split(' ').map(v => v.replace(/\b(\w)/g, function (fl) {
    return fl.toUpperCase()
  })).join('')
}
camelCase('hello world') // 'HelloWorld'

6.求泰波那契数列

已知斐波那契数列规律为[1, 1, 2, 3, 5...], 而泰波那契数列是从第4个元素开始,后面每个元素都是前3个元素之和,请写一个有2个参数的函数,参数1是初始化数组,参数2是该函数返回泰波那契数组的长度,返回值是泰波那契数列。

代码语言:javascript
复制
function tribonacci(signature,n){
  for (var i = 0; i < n-3; i++) {
    signature.push(signature[i] + signature[i+1] + signature[i+2]);
  }
  return signature.slice(0, n);
}
  tribonacci([1,1,1],1) // [1]
  tribonacci([0,2,7],2) // [0, 2]
  tribonacci([1,1,1],10) // [1,1,1,3,5,9,17,31,57,105]

7.请在不使用结构伪类选择器的情况下,用CSS实现每个链接之间用竖线分隔,竖线样式为 1px solid #aaa;

代码语言:javascript
复制
<nav class="list">
  <ul>
    <li><a href="#">优酷</a></li>
    <li><a href="#">爱奇艺</a></li>
    <li><a href="#">风行</a></li>
    <li><a href="#">土豆</a></li>
    <li><a href="#">B站</a></li>
  </ul>
</nav>
代码语言:javascript
复制
* {
      margin:0;padding:0;
    }
    nav{
      font-size: 16px;
      overflow: hidden;
      margin: 20px 50px;
    }
    .list ul {
      overflow: hidden;
    }
    .list li {
      float: left;
      list-style-type: none;
    }
    .list a {
      display: block;
      padding: 0 16px;
      text-decoration: none;
      color: #999;
    }
    // 实现这一点的关键是使用紧邻同胞选择器 +
    .list li + li {
      border-left: 1px solid #aaa;
    }
    .list a:hover{
      color: #555;
    }
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端开发博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.请用一行代码实现数组扁平化?
  • 2.请在不使用Set的情况下实现数组去重?
  • 3.计算一个字符串中出现重复字符的个数(不区分大小写)?
  • 4.已知DNA是双链结构,由4种碱基对构成,A和T互相配对,C和G互相配对,若有任意一条DNA单链,求配对的单链?
  • 5.写一个将字符串转驼峰式的函数
  • 6.求泰波那契数列
  • 7.请在不使用结构伪类选择器的情况下,用CSS实现每个链接之间用竖线分隔,竖线样式为 1px solid #aaa;
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档