面试题
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
}