
排疑解难
xiaozhangtxue
web前端开发爱好者
展开
-
WHUT计算机相关实验代码
最近看到有写同学在付费下载我的计算机实验的相关代码,其实有些可以不用付费的呀!我的github账号就有的呀!!!我的github链接:xiaozhangtx原创 2022-04-07 22:52:55 · 227 阅读 · 0 评论 -
【JS实现】模板字符串替换
JS实现模板字符串的替换原创 2022-08-30 23:23:15 · 1710 阅读 · 1 评论 -
【360笔试】求字符串中出现最多次的子串的出现次数
题目要求:求字符串中出现最多次的子串的出现次数示例:输入:aba输出:2解析: aba 的字串有 a,b,a,ab,ba,aba 其中a出现的次数做多,出现了两次,所以输出为2结题:可以用双重循环,但是太暴力了,我们可以采用哈希表的形式来保存每个字串,然后统计最大值,代码如下:let str = 'aba'// 求出所有的子串let strArr = str.split('')let temp = Array.from(new Set(strArr))if (strArr.len原创 2022-04-16 17:43:17 · 475 阅读 · 0 评论 -
JS实现数组与树结构的相互转换
JS实现数组与树结构的相互转换 let data = [ { id: 0, parentId: null, name: '生物' }, { id: 1, parentId: 0, name: '动物' }, { id: 2, parentId: 0, name: '植物' }, { id: 3, parentId: 0, name: '微生物' }, { id: 4, parentId: 1, name: '哺乳动物' }, {原创 2022-03-14 22:43:40 · 293 阅读 · 1 评论 -
JS + 递归实现细胞分裂
JS + 递归实现细胞分裂题目要求:1个细胞,一个小时分裂一次,生命周期是3小时,求n小时后容器内,有多少细胞。解析:这是一个典型的递归问题,过程如下:第一个小时,只有a态细胞;第二个小时,a态细胞分裂,原来的a态细胞变成了b态细胞,分裂出来的细胞变成了新的a态细胞;第三个小时,a态细胞继续分裂变成b态细胞和新的a态细胞,b态细胞分裂变成c态细胞和a态细胞;第四个小时,a、b、c态细胞都会分裂,并且按照之前的规律转变。得出下面的结论// a 初始态 一个小时 前一个小时的 a+b+c//原创 2022-03-07 16:29:51 · 641 阅读 · 0 评论 -
手撕JS call、apply、bind方法
手撕JS call、apply、bind方法在js中call、apply、bind方法都是用来改变this指针的指向的,也是前端面试手撕代码的一个考点,拼多多笔试就考了bind的源码实现,现在给大家列出这三种方法JS实现1.call方法call方法的第一个参数也是this的指向,后面传入的是一个参数列表,改变this指向后原函数会立即执行,且此方法只是临时改变this指向一次function fn(...args){ console.log(this,args);}let obj =原创 2022-03-07 10:26:26 · 530 阅读 · 0 评论 -
js变量提升与函数提升的详细过程
js变量提升与函数提升的详细过程 :例题:function foo() { console.log(a); var a = 1; console.log(a); function a() {} console.log(a); console.log(b); var b = 2; console.log(b); function b() {} console.log(b);}foo();解析过程:function foo() { var a;转载 2022-03-05 10:32:14 · 105 阅读 · 0 评论 -
js中的this关键字
搞定js中的this关键字默认绑定 function myGirl() { console.log(this) } myGirl() // Window隐式绑定 let myGirl = { name: '小红', height: 160, detail: function () { console.log(this) }, } myGirl.detail() // {原创 2022-03-03 10:01:20 · 218 阅读 · 0 评论 -
手撕Promise
废话不多说,直接上代码class myPromise { // 定义状态 static PENDING = '待定' static FULFILLED = '成功' static REJECTED = '失败' // 构造函数 constructor(fun) { this.status = myPromise.PENDING this.result = null // 定义俩个数组来保存resolve和reject函数 this.resolveCa原创 2022-03-03 08:22:16 · 190 阅读 · 0 评论 -
JavaScript宏任务(macrotask)和 微任务(microtask) 执行顺序面试问题
JavaScript宏任务(macrotask)和 微任务(microtask) 执行顺序面试问题原创 2022-03-01 21:32:54 · 729 阅读 · 0 评论 -
字节前端实习一面面经
1 废话:最近看着年级群里面的大厂招聘信息,想着自己最近的课也不是很多,于是抱着试一试的态度,报了字节的暑假实习(报的时候没考虑自己简历会过,毕竟自己是个渣子)结果没想到,在航海楼自己的时候,突然接到了一个来自北京的号码!!!(这个时间,北京,莫非是字节?)果不其然,是字节HR的电话,说我的简历过了,问我明天有时间面试吗?(实属突然,幸福来得太突然了吧!!!)我说可以的,于是面试就定在了今天的下午3点(心里在想,可以个锤子,啥都不会,直接白给呀!!!裂开!!!)(有一说一,字节的效率够高的,下午2原创 2022-03-01 17:21:58 · 637 阅读 · 2 评论 -
JS new一个对象的过程
JS new一个对象的过程1.创建空对象2.新对象执行prototype连接原型3.绑定this到新对象上4.执行构造函数5.返回新对象代码如下:// new 一个对象的过程function myNew() { // 1.创建一个空对象 let obj = {} // 2.取出参数中的第一个参数,获得构造函数 let constructor = [].shift.call(arguments) // 3.连接原型 obj._proto_ = constructo原创 2022-02-28 18:11:56 · 7835 阅读 · 2 评论 -
Python把目录文件下的所以txt文件转换成对应的csv文件
废话不多数,直接贴代码import osimport pandas as pd# 文件目录inputfile = "./old/"outputfile = "./new/"txt_list = os.listdir(inputfile)name_list = []for i in txt_list: data = pd.read_table(inputfile + i, low_memory=False, sep=' ') data.to_csv(outputfile原创 2022-02-19 13:58:37 · 774 阅读 · 0 评论 -
JS数组两个元素之间插入他们的平均数
用JS实现数组的两个元素之间插入他们的平均值法一:let a = [0, 1, 2, 3, 4, 5, 6, 7]let b = []for (let i = 0; i < a.length - 1; i++) { b.push((a[i] + a[i + 1]) / 2)}for (let i = 0; i < b.length; i++) { a.splice(2 * i + 1, 0, b[i])}console.log(a)结果:法二:还没有想.原创 2022-02-15 15:42:30 · 560 阅读 · 0 评论 -
船讯网船舶数据爬虫
在船讯网通过船舶的MMSI获取船舶的信息,话不多数,直接上代码:import random # 导入requests库import timeimport csv # 导出为csv文档import requestsfrom fake_useragent import UserAgent # 导入随机获取UA的库# 船讯网系统主页,用来获得cookiemain_url = 'http://www.shipxy.com/'# 获取船舶MMSI的urlmmsi_url = 'http://原创 2022-01-31 19:12:23 · 4776 阅读 · 21 评论 -
解决两张表关联,一张表插入一条新数据,另外一张表也跟着插入一条新数据问题
解决两张表关联,一张表插入一条新数据,另外一张表也跟着插入一条新数据问题1.问题描述已知现在有两张表,分别是user // 用来存放储户的信息card // 用来存放银行卡的信息现在要求在给新增一个用户的时候提示给他办理一张银行卡2. 问题解决思路:新增用户好办,直接insert就可以了,但是怎样添加银行卡呢?这里我的解决办法是:通过对user表的用户id进行排序,然后获取刚刚插入的那个用户的id,在card中添加进去就可以了代码: INSERT INTO user原创 2021-10-19 15:24:40 · 7072 阅读 · 3 评论 -
c++将任意输入的三个整数a、b、c,按从小到大的顺序输出
题目:将任意输入的三个整数a、b、c,按从小到大的顺序输出分析:此题比较简单,直接运用三个if来判断大小,如果大的在前面则两个数互换位置;具体代码为:#includeusing namespace std;int main(void){int a, b, c,t=0;cout << “输入的三个数为:”;cin >> a >> b >> c;if (a > b){t = a;a = b;b = t;}if (a >原创 2020-05-15 07:35:25 · 14102 阅读 · 0 评论 -
c++将任意输入的三个整数a,b,c,按从小到大的顺序输出
题目:将任意输入的三个整数a、b、c,按从小到大的顺序输出分析:此题比较简单,直接运用三个if来判断大小,如果大的在前面则两个数互换位置;具体代码为:#include<iostream> using namespace std; int main(void) { int a, b, c,t=0; cout << "输入的三个数为:"; cin >> a >> b >> c; if (a > b) { t = a; a原创 2020-05-15 07:26:21 · 8081 阅读 · 0 评论 -
各位大佬,请问这个为什么会这样?帮帮我!!!
首先这个大家都知道#include <stdio.h>int main(){int a,b;a=1.2,b=2;printf("%d,%d",a,b);return 0;}输出结果为1,2但我把int 改为char代码如下:#include <stdio.h>int main(){char a,b;a=1.2,b=2;printf("%...原创 2020-04-14 16:33:32 · 357 阅读 · 5 评论