面试题

2019-07-12  本文已影响0人  ?尛孞

第一题### 用js实现随机选取10-100之间的10个数字,存入一个数组,去重后求和(保证这10个数字不能出现重复)要求:去重不能使用Set请完善下面的题目javascriptfunction sumOfRandomDistinctTenNumbers(){ // todo}## 第二题给定一个编码字符,按编码规则进行解码,输出字符串。编码规则是count[letter],将letter的内容count次输出,count是0或正整数,letter是区分大小写的纯字母,支持嵌套形式。示例:javascriptconst s1 = '10[a]2[bc]'; decodeString(s); // 返回'aaaaaaaaaabcbc'const s2 = '2[3[a]2[bc]]'; decodeString(s); // 返回 'aaabcbcaaabcbc'请完善下面的题目javascriptfunction decodeString() { // todo}## 第三题基于 React 框架写一个列表,列表每项有一个删除该项的功能。请完善下面的题目javascript'use strict';import React, { Component } from 'react';// 单项class Item extends Component { state = { } constructor(props) { super(props); } // 补全删除功能 render() { return ( <div> {/* 在此完成功能 */} </div> ) }}// 列表class List extends Component { state = { list: new Array(10).fill('') } constructor(props) { super(props); } render() { return ( <div> <h1>List</h1> {/* 完成渲染功能 */} </div> ) }}

第二题

function decodeString(str) {
 var inputStr = str
 while(/\[|\]/g.test(inputStr)) {
  inputStr = inputStr.replace(/(\d+)\[(\w+)\]/g,function(a,b,c){
   return new Array(Number(b)).fill(String(c)).join("")
  })
 }
 return inputStr
}
上一篇下一篇

猜你喜欢

热点阅读