Violetks Blog

Thinking will not overcome fear but action will.

数组相关算法题

第一题:旋转数组的最小数字 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 例如输入数组[1, 2, 3, 4, 5],将它变成旋转数组比如[3, 4, 5, 1, 3]或者[4, 5, 1, 2, 3]。 输入一个非递减排序的数组,将它进行旋转,求旋转数组的最小值。 NOTE:给出的所有元素都大于0,若数组大小为 0,请返回 0。 // 示例1 输入:[3, 4, 5...

编程题练习

第一题:子串模糊匹配 从字符串string开始完整匹配子串sub,返回匹配到的字符个数。 sub中如果出现'?'表示可以匹配一到三个除'\0'以外的任意字符。 如果sub还有找不到到匹配的字符,则说明不能完全匹配。 如果能完整匹配,返回匹配到的字符个数,如果有多种匹配方式,返回匹配字符数最少的那个,如果不能完整匹配,返回 -1。 输入描述: 第一行输入字符串 string,长度小于 1000...

TypeScript 学习总结

一、简介 TypeScript是JavaScript的一个超集,支持ECMAScript 6标准。其设计目标是开发大型应用,它可以编译成纯JavaScript,可以在任何浏览器、任何计算机和任何操作系统上运行,并且是开源的。 二、基础类型 1、布尔值:let isDone: boolean = false 2、数字:let count: number = 6 3、字符串:let nam...

URL 与对象的转换

一、获取 URL 中的参数,转为对象 function getUrlParams (url) { var index = url.indexOf('?') + 1; var paramsArr = url.substr(index).split('&'); var obj = {}; paramsArr.forEach(function (value, index1,...

Webpack 核心概念

SourceMap SourceMap是一个映射关系,调试工具可以通过SourceMap映射代码,让我们在源代码上断点调试。但是使用SourceMap会让编译速度变慢,可到官网查看详细配置。 // webpack.config.js 相关代码片段 module.exports = { mode: 'development', devtool: 'source-map', en...

Webpack 本地搭建

webpack是一个模块打包工具。参考《深入浅出 Webpack》 Webpack 的本地搭建 1、新建文件夹 webpack-demo。 // index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="...

React 之 forwardRef & useImperativeHandle

一、forwardRef React.forwardRef会创建一个 React 组件,这个组件能够将其接受的ref属性转发到其组件树下的另一个组件中。 React.forwardRef接受渲染函数作为参数。React 将使用props和ref作为参数来调用此函数。此函数应返回 React 节点。 // 通过 forwardRef 创建子组件 const FancyButton = Re...

Antd 校验实现方式

一、输入框非空校验 <Form.Item label="Username" name="username" rules={[ { required: true, whitespace: true, message: 'Please input your username!' } ]} getValueFromEv...

Antd 实现表格行上下移动

场景:点击表格操作栏中的移动行按钮,实现表格行的移动。也就是两行数据的交换。第一行提示最顶部无法上移,最后一行提示无法下移。 一、使用 useSelector 获取到列表数据,传给 Antd 表格组件的 dataSource const { projectList } = useSelector(state => state.project); // 获取列表数据 const g...

Antd Design 组件相关问题

一、Alert组件的message中除了接收字符串外,还能接收 DOM 节点。 <Alert message={ <p> <span>已选择 {selectedRowKeys.length} 项</span> <a onClick={resetChecked} style={{ marginLeft: '24px...