Skip to content

Commit 3c22c60

Browse files
author
Chu Fan
committed
refactor: 新增Eslint配置,修改相关代码风格
1 parent 0d142c8 commit 3c22c60

File tree

110 files changed

+2514
-2742
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

110 files changed

+2514
-2742
lines changed

.eslintignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
node_modules
2+
manuscript
3+
.github
4+
.idea
5+
.dockerignore
6+
.gitignore
7+

.npmrc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
shamefully-hoist=true
2-
registry=https://registry.npmmirror.com
2+
registry=https://registry.npmmirror.com
3+
## 锁定node版本
4+
engine-strict = true

Readme.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -94,38 +94,38 @@
9494
#### 快速入门
9595

9696
- [x] [简单介绍](docs/javascript/快速入门/javascript简单介绍.md)
97-
- [x] [【快速入门】快速了解](docs/javascript/快速入门/javascript快速入门.md)
98-
- [x] [【快速入门】JavasScript开发规范](docs/javascript/JavaScript开发规范.md)
97+
- [x] [快速了解](docs/javascript/快速入门/javascript快速入门.md)
98+
- [x] [JavasScript开发规范](docs/javascript/JavaScript开发规范.md)
9999

100100
<!-- #### 基础教程 -->
101101

102-
- [x] [【基础教程】语法与数据结构](docs/javascript/基础教程/javascript语法与数据结构.md)
103-
- [x] [【基础教程】循环与迭代](docs/javascript/基础教程/javascript循环与迭代.md)
104-
- [x] [【基础教程】流程控制与错误处理](docs/javascript/基础教程/javascript流程控制与错误处理.md)
105-
- [x] [【基础教程】表达式和运算符](docs/javascript/基础教程/javascript表达式和运算符.md)
106-
- [x] [【基础教程】函数和方法](docs/javascript/基础教程/javascript函数.md)
107-
- [x] [【基础教程】数字和日期](docs/javascript/基础教程/javascript数字和日期.md)
108-
- [x] [【基础教程】对象的使用](docs/javascript/基础教程/javascript对象的使用.md)
109-
- [x] [【基础教程】正则表达式](docs/javascript/基础教程/javascript正则表达式.md)
110-
- [x] [【基础教程】promise对象的使用](docs/javascript/基础教程/promise对象的使用.md)
111-
- [x] [【基础教程】modules模块](docs/javascript/基础教程/modules模块.md)
102+
- [x] [语法与数据结构](docs/javascript/基础教程/javascript语法与数据结构.md)
103+
- [x] [循环与迭代](docs/javascript/基础教程/javascript循环与迭代.md)
104+
- [x] [流程控制与错误处理](docs/javascript/基础教程/javascript流程控制与错误处理.md)
105+
- [x] [表达式和运算符](docs/javascript/基础教程/javascript表达式和运算符.md)
106+
- [x] [函数和方法](docs/javascript/基础教程/javascript函数.md)
107+
- [x] [数字和日期](docs/javascript/基础教程/javascript数字和日期.md)
108+
- [x] [对象的使用](docs/javascript/基础教程/javascript对象的使用.md)
109+
- [x] [正则表达式](docs/javascript/基础教程/javascript正则表达式.md)
110+
- [x] [promise对象的使用](docs/javascript/基础教程/promise对象的使用.md)
111+
- [x] [modules模块](docs/javascript/基础教程/modules模块.md)
112112

113113
<!-- #### 中级教程 -->
114114

115-
- [x] [【中级教程】Promise对象](docs/javascript/中级教程/promise对象.md)
116-
- [x] [【中级教程】async函数](docs/javascript/中级教程/async函数.md)
117-
- [x] [【中级教程】class类](docs/javascript/中级教程/class类.md)
115+
- [x] [Promise对象](docs/javascript/中级教程/promise对象.md)
116+
- [x] [async函数](docs/javascript/中级教程/async函数.md)
117+
- [x] [class类](docs/javascript/中级教程/class类.md)
118118

119119

120-
- [x] [【高级教程】不一样的ajax](docs/javascript/高级教程/不一样的ajax.md)
121-
- [x] [【高级教程】什么是事件循环](docs/javascript/高级教程/什么是事件循环.md)
122-
- [x] [【高级教程】JSON.stringify()的三个参数]()
120+
- [x] [不一样的ajax](docs/javascript/高级教程/不一样的ajax.md)
121+
- [x] [什么是事件循环](docs/javascript/高级教程/什么是事件循环.md)
122+
- [x] [JSON.stringify()的三个参数]()
123123

124124

125-
- [x] [【最后稻草】ES6、ES7、ES8、ES9、ES10的新特性](docs/javascript/最后稻草/ES6、ES7、ES8、ES9、ES10的新特性.md)
126-
- [x] [【最后稻草】ES2020新特性](docs/javascript/最后稻草/ES2020新特性.md)
127-
- [x] [【最后稻草】JavaScript 工具函数大全](docs/javascript/最后稻草/JavaScript工具函数大全.md)
128-
- [x] [【最后稻草】常用函数方法整理](docs/javascript/最后稻草/常用函数方法整理.md)
125+
- [x] [ES6、ES7、ES8、ES9、ES10的新特性](docs/javascript/最后稻草/ES6、ES7、ES8、ES9、ES10的新特性.md)
126+
- [x] [ES2020新特性](docs/javascript/最后稻草/ES2020新特性.md)
127+
- [x] [JavaScript 工具函数大全](docs/javascript/最后稻草/JavaScript工具函数大全.md)
128+
- [x] [常用函数方法整理](docs/javascript/最后稻草/常用函数方法整理.md)
129129

130130
### JQuery
131131

code/algorithm/DeepClone.js

Lines changed: 36 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,41 @@
1-
2-
3-
// 判断数据类型
4-
function checkedType(target){
5-
// 判断类型 -typeof -instanceof -toString.call() -Array.isArray()
6-
return Object.prototype.toString.call(target).slice(8,-1);
1+
/**
2+
* 判断数据类型
3+
* @param target
4+
*/
5+
function checkType (target) {
6+
// 判断类型 -typeof -instanceof -toString.call() -Array.isArray()
7+
return Object.prototype.toString.call(target).slice(8, -1)
78
}
89

9-
10-
// 基于Json序列化的深拷贝【不能处理函数】
11-
function DeepCloneByJSON(target){
12-
return JSON.parse(Json.stringify(target))
10+
/**
11+
* 基于Json序列化的深拷贝【不能处理函数】
12+
* @param target
13+
*/
14+
function DeepCloneByJSON (target) {
15+
return JSON.parse(JSON.stringify(target))
1316
}
1417

1518
// 基于递归思想的深拷贝
16-
function DeepClone(target){
17-
18-
let result;
19-
const targetType=checkType(target);
20-
21-
if(targetType === 'object'){
22-
// 处理对象
23-
result={};
24-
}else if(targetType === 'Array'){
25-
// 处理数组
26-
result=[];
27-
}else{
28-
// 其他数据类型或者函数
29-
return result;
30-
}
31-
32-
// 遍历目标数据
33-
for(let key in target){
34-
// 获取每一项值
35-
const value=target[key];
36-
37-
// 递归处理
38-
result[key]=DeepClone(value)
39-
}
40-
41-
42-
// 处理完成后,返回
43-
return result;
44-
}
19+
function DeepClone (target) {
20+
let result
21+
const targetType = checkType(target)
22+
23+
if (targetType === 'object') {
24+
// 处理对象
25+
result = {}
26+
} else if (targetType === 'Array') {
27+
// 处理数组
28+
result = []
29+
} else {
30+
// 其他数据类型或者函数
31+
return result
32+
}
33+
// 遍历目标数据
34+
for (const key in target) {
35+
// 获取每一项值
36+
const value = target[key]
37+
// 递归处理
38+
result[key] = DeepClone(value)
39+
}
40+
return result
41+
}

code/algorithm/GetNumberOfK.js

Lines changed: 65 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,81 +1,79 @@
1-
function GetNumberOfK(data, k) {
2-
// write code here
3-
// 分两次二分查找,知道重复元素首次和最后一次出现位置,相减就能拿到重复次数了.
4-
5-
// 左侧二分查找,重复元素第一次出现的索引位置
6-
const left = leftBinarySearch(data, k);
7-
8-
// 右侧二分查找,重复元素最后一次出现的索引位置
9-
const right = rightBinarySearch(data, k);
10-
11-
console.log(`left:${left}----> right:${right}`)
12-
return left === -1 && right === -1 ? 0 : right - left + 1
1+
/**
2+
* 获取指定位置的数
3+
* @param data
4+
* @param k
5+
*/
6+
function GetNumberOfK (data, k) {
7+
// 分两次二分查找,知道重复元素首次和最后一次出现位置,相减就能拿到重复次数了.
8+
9+
// 左侧二分查找,重复元素第一次出现的索引位置
10+
const left = leftBinarySearch(data, k)
11+
12+
// 右侧二分查找,重复元素最后一次出现的索引位置
13+
const right = rightBinarySearch(data, k)
14+
15+
console.log(`left:${left}----> right:${right}`)
16+
return left === -1 && right === -1 ? 0 : right - left + 1
1317
}
1418

15-
function rightBinarySearch(data, target) {
16-
if (!data.length) {
17-
return -1
18-
}
19-
let left = 0;
20-
let right = data.length - 1;
21-
22-
while (left <= right) {
23-
24-
let mid = left + Math.floor((right - left) / 2);
25-
26-
if (target === data[mid]) {
27-
left = mid + 1
28-
} else if (target < data[mid]) {
29-
// 左侧
30-
right = mid - 1
31-
} else if (target > data[mid]) {
32-
// 右侧;
33-
left = mid + 1;
34-
}
35-
}
36-
// left = right+1; 判断出界
37-
if (right < 0 || data[right] !== target) {
38-
return -1
19+
function rightBinarySearch (data, target) {
20+
if (!data.length) {
21+
return -1
22+
}
23+
let left = 0
24+
let right = data.length - 1
25+
26+
while (left <= right) {
27+
const mid = left + Math.floor((right - left) / 2)
28+
29+
if (target === data[mid]) {
30+
left = mid + 1
31+
} else if (target < data[mid]) {
32+
// 左侧
33+
right = mid - 1
34+
} else if (target > data[mid]) {
35+
// 右侧;
36+
left = mid + 1
3937
}
40-
return right
38+
}
39+
// left = right+1; 判断出界
40+
if (right < 0 || data[right] !== target) {
41+
return -1
42+
}
43+
return right
4144
}
4245

43-
4446
// [left,right]
45-
function leftBinarySearch(data, target) {
46-
if (!data.length) {
47-
return -1
47+
function leftBinarySearch (data, target) {
48+
if (!data.length) {
49+
return -1
50+
}
51+
let left = 0
52+
let right = data.length - 1
53+
54+
while (left <= right) {
55+
const mid = left + Math.floor((right - left) / 2)
56+
57+
if (target === data[mid]) {
58+
// 左侧收缩
59+
right = mid - 1
60+
} else if (target < data[mid]) {
61+
// 左侧
62+
right = mid - 1
63+
} else if (target > data[mid]) {
64+
// 右侧;
65+
left = mid + 1
4866
}
49-
let left = 0;
50-
let right = data.length - 1;
51-
52-
while (left <= right) {
67+
}
5368

54-
let mid = left + Math.floor((right - left) / 2);
69+
// left = right+1; 判断出界
70+
if (left > data.length || data[left] !== target) {
71+
return -1
72+
}
5573

56-
if (target === data[mid]) {
57-
// 左侧收缩
58-
right = mid - 1;
59-
} else if (target < data[mid]) {
60-
// 左侧
61-
right = mid - 1
62-
} else if (target > data[mid]) {
63-
// 右侧;
64-
left = mid + 1;
65-
}
66-
}
67-
68-
69-
// left = right+1; 判断出界
70-
if (left > data.length || data[left] !== target) {
71-
return -1
72-
}
73-
74-
75-
return left
74+
return left
7675
}
7776

78-
7977
console.log(GetNumberOfK([1, 2, 3, 3, 3, 3, 4, 5], 3))
8078
console.log(GetNumberOfK([3, 3, 3, 3, 4, 5], 3))
8179
console.log(GetNumberOfK([1, 2, 3, 3, 3, 3], 3))
@@ -87,8 +85,3 @@ console.log(GetNumberOfK([3, 3, 3, 3], 4))
8785
console.log(GetNumberOfK([3], 3))
8886
console.log(GetNumberOfK([3], 4))
8987
console.log(GetNumberOfK([1, 3, 3, 3, 3, 4, 5], 2))
90-
91-
92-
module.exports = {
93-
GetNumberOfK: GetNumberOfK
94-
};

code/algorithm/LeftRotateString.js

Lines changed: 30 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,39 @@
1-
//
2-
function LeftRotateString(str, n) {
3-
4-
if (!str) {
5-
return str;
6-
}
7-
let arr = str.split('')
8-
9-
const leftReverseArr = reverse(arr, 0, n - 1);
10-
console.log(`left:${leftReverseArr}`)
11-
const rightReverseArr = reverse(arr, n, arr.length - 1)
12-
console.log(`right:${rightReverseArr}`)
13-
14-
// 翻转后,通过join连接起来
15-
return reverse(arr, 0, arr.length - 1).join('')
1+
//
2+
function LeftRotateString (str, n) {
3+
if (!str) {
4+
return str
5+
}
6+
const arr = str.split('')
7+
8+
const leftReverseArr = reverse(arr, 0, n - 1)
9+
console.log(`left:${leftReverseArr}`)
10+
const rightReverseArr = reverse(arr, n, arr.length - 1)
11+
console.log(`right:${rightReverseArr}`)
12+
13+
// 翻转后,通过join连接起来
14+
return reverse(arr, 0, arr.length - 1).join('')
1615
}
1716

18-
1917
// 数组中翻转
20-
function reverse(arr, left, right) {
21-
while (left < right) {
22-
// 元素交换
23-
arr = swap(arr, left, right)
24-
// left右移
25-
left++
26-
// right左移
27-
right--
28-
}
29-
return arr;
18+
function reverse (arr, left, right) {
19+
while (left < right) {
20+
// 元素交换
21+
arr = swap(arr, left, right)
22+
// left右移
23+
left++
24+
// right左移
25+
right--
26+
}
27+
return arr
3028
}
3129

32-
3330
// 元素交换
34-
function swap(arr, left, right) {
35-
36-
const temp = arr[left];
37-
arr[left] = arr[right];
38-
arr[right] = temp
31+
function swap (arr, left, right) {
32+
const temp = arr[left]
33+
arr[left] = arr[right]
34+
arr[right] = temp
3935

40-
return arr;
36+
return arr
4137
}
4238

43-
44-
console.log(LeftRotateString('', 6))
39+
console.log(LeftRotateString('', 6))

0 commit comments

Comments
 (0)