-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patharray.js
56 lines (49 loc) · 1.16 KB
/
array.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
const 是否为数组 = (item) => {
if (Object.prototype.toString.call(item) === '[object Array]') {
return true
}
return false
}
const 删除元素 = (元素, 数组 = []) => {
const index = 数组.indexOf(元素)
if (index === -1) {
console.error(`未在${数组}中查询到${元素}`);
return
}
数组.splice(index, 1)
}
const 去重 = (数组 = []) => {
return [...new Set(数组)]
}
const 切片 = (数组=[],开始索引=0,结束索引=0) => {
const arr = []
let reverse = false
if(结束索引<0){
结束索引 = 数组.length + 结束索引
}
if(开始索引<0){
开始索引 = 数组.length + 开始索引
}
if(开始索引>结束索引){
[开始索引,结束索引] = [结束索引,开始索引]
reverse = true
}
数组.forEach((item,index)=>{
if((index>=开始索引) && index<=结束索引){
arr.push(item)
}
})
if(reverse){
return arr.reverse()
}
return arr
}
const 数组工具 = {
是否为数组,
删除元素,
去重,
切片,
}
module.exports = {
数组工具,
}