javascript 简单检查数组是否有重复值(nodejs )
- TS 版
1
2
3
4
5
6// 有重复返回true
export function checkDuplicationNormal<T>(arr: T[]) {
return arr.some((val, idx) => {
return arr.includes(val, idx + 1);
});
}
js 版
1
2
3
4
5function checkDuplicationNormal(arr) {
return arr.some((val, idx) => {
return arr.includes(val, idx + 1);
});
}PS:
arr.includes(val, idx + 1);可以使用arr.indexOf(val, idx + 1)>=0替代。
jest 测试
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
30import {checkDuplicationNormal} from "./beanUtil";
describe('test beanUtil', () => {
it('should checkDuplicationString correct', async () => {
let arr = [1, 2, 3, 4];
let ret = checkDuplicationNormal(arr);
expect(ret).toBeFalsy();
arr = [1, 1, 2, 3, 4];
ret = checkDuplicationNormal(arr);
expect(ret).toBeTruthy();
arr = [1, 2, 3, 4, 1];
ret = checkDuplicationNormal(arr);
expect(ret).toBeTruthy();
let strArr = ['3213', 'aa', 'aaa', 'a'];
ret = checkDuplicationNormal(strArr);
expect(ret).toBeFalsy();
strArr = ['3213', 'a', 'aa', 'aaa', 'a'];
ret = checkDuplicationNormal(strArr);
expect(ret).toBeTruthy();
let other = ['3213', 3213, 'aa', 'aaa', 'a'];
ret = checkDuplicationNormal(other);
expect(ret).toBeFalsy();
});
});记录一下。
感谢您的阅读,本文由 smallwhite's Blog 版权所有。如若转载,请注明出处:smallwhite's Blog(https://smallwhite.ml/pub/uncategorized/javascript-jian-dan-jian-cha-shu-zu-shi-fou-you-chong-fu-zhi-nodejs.html)