File tree Expand file tree Collapse file tree 2 files changed +87
-2
lines changed Expand file tree Collapse file tree 2 files changed +87
-2
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * @param {number[][] } coordinates
3+ * @return {boolean }
4+ */
5+
6+ export const checkStraightLine = function ( coordinates : number [ ] [ ] ) : boolean {
7+ const n : number = coordinates . length ;
8+
9+ for ( let i = 0 ; i < n - 2 ; i ++ ) {
10+ const area : number = Math . abs ( ( 1 / 2 ) * ( coordinates [ i ] [ 0 ] * coordinates [ i + 1 ] [ 1 ] + coordinates [ i + 1 ] [ 0 ] * coordinates [ i + 2 ] [ 1 ] + coordinates [ i + 2 ] [ 0 ] * coordinates [ i ] [ 1 ] - ( coordinates [ i ] [ 1 ] * coordinates [ i + 1 ] [ 0 ] + coordinates [ i + 1 ] [ 1 ] * coordinates [ i + 2 ] [ 0 ] + coordinates [ i + 2 ] [ 1 ] * coordinates [ i ] [ 0 ] ) ) ) ;
11+
12+ if ( area > 0 ) return false ;
13+ }
14+
15+ return true ;
16+ } ;
17+
18+ const b = checkStraightLine ( [
19+ [ 1 , 2 ] ,
20+ [ 2 , 3 ] ,
21+ [ 3 , 4 ] ,
22+ [ 4 , 5 ] ,
23+ [ 5 , 6 ] ,
24+ [ 6 , 7 ] ,
25+ ] ) ;
26+ const c = checkStraightLine ( [
27+ [ 1 , 1 ] ,
28+ [ 2 , 2 ] ,
29+ [ 3 , 4 ] ,
30+ [ 4 , 5 ] ,
31+ [ 5 , 6 ] ,
32+ [ 7 , 7 ] ,
33+ ] ) ;
34+ console . log ( 'b' , b ) ;
35+ console . log ( 'c' , c ) ;
Original file line number Diff line number Diff line change @@ -56,5 +56,55 @@ const requestOptions = {
5656 } ,
5757} ;
5858
59- requestOptions . sendByOne ( images ) ;
60- requestOptions . sendByFive ( images ) ;
59+ // requestOptions.sendByOne(images);
60+ // requestOptions.sendByFive(images);
61+
62+ interface IGroup {
63+ objectId : string ;
64+ name : string ;
65+ }
66+
67+ interface IPerson {
68+ personId : string ;
69+ personInfo : IPersonInfo ;
70+ }
71+
72+ interface IPersonInfo {
73+ objectId ?: string ;
74+ name : string ;
75+ employeeId ?: string ;
76+ position ?: string ;
77+ contactNumber ?: string ;
78+ email ?: string ;
79+ card ?: string ;
80+ remark ?: string ;
81+ password ?: string ;
82+ groups ?: IGroup [ ] ;
83+ engineId ?: string ;
84+ expiredDate ?: Date | String ;
85+ }
86+
87+ function convertToMultiQuery ( IPerson : IPerson [ ] | IPerson ) {
88+ const mappings : string [ ] = Object . keys ( IPerson ) ;
89+ let query : string = '' ;
90+ if ( mappings [ 0 ] === 'personId' ) {
91+ query = `&objectId=${ IPerson [ mappings [ 0 ] ] } ` ;
92+ } else {
93+ let i : number = 0 ;
94+ while ( i < mappings . length ) {
95+ query += `&objectId=${ IPerson [ i ] . personId } ` ;
96+ i ++ ;
97+ }
98+ }
99+
100+ return query ;
101+ }
102+
103+ const data1 = convertToMultiQuery ( { personId : '12' , personInfo : { name : 'test' } } ) ;
104+ const data2 = convertToMultiQuery ( [
105+ { personId : '12' , personInfo : { name : 'test' } } ,
106+ { personId : '13' , personInfo : { name : 'test' } } ,
107+ ] ) ;
108+
109+ console . log ( 'data1' , data1 ) ;
110+ console . log ( 'data2' , data2 ) ;
You can’t perform that action at this time.
0 commit comments