File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ // Longhand:
2+
3+ const pets = [
4+ { type : 'Dog' , name : 'tommy' } ,
5+ { type : 'Cat' , name : 'miu' } ,
6+ { type : 'Dog' , name : 'maxxian' }
7+ ] ;
8+
9+ function findDog ( name ) {
10+ for ( let i = 0 ; i < pets . length ; ++ i ) {
11+ if ( pets [ i ] . type === 'Dog' && pets [ i ] . name === name ) {
12+ return pets [ i ] ;
13+ }
14+ }
15+ }
16+
17+ // Shorthand:
18+
19+ pet = pets . find ( pet => pet . type === 'Dog' && pet . name === 'tommy' ) ;
20+ console . log ( pet ) ; // { type: 'Dog', name: 'tommy' }
Original file line number Diff line number Diff line change 1+ // longhand
2+ function validate ( values ) {
3+ if ( ! values . first ) return false ;
4+ if ( ! values . last ) return false ;
5+ return true ;
6+ }
7+
8+ console . log ( validate ( { first : 'Bruce' , last : 'Wayne' } ) ) ; // true
9+
10+ // Shorthand:
11+
12+ // object validation rules
13+ const schema = {
14+ first : {
15+ required : true
16+ } ,
17+ last : {
18+ required : true
19+ }
20+ } ;
21+
22+ // universal validation function
23+ const validate = ( schema , values ) => {
24+ for ( field in schema ) {
25+ if ( schema [ field ] . required ) {
26+ if ( ! values [ field ] ) {
27+ return false ;
28+ }
29+ }
30+ }
31+ return true ;
32+ } ;
33+
34+ console . log ( validate ( schema , { first : 'Bruce' } ) ) ; // false
35+ console . log ( validate ( schema , { first : 'Bruce' , last : 'Wayne' } ) ) ; // true
You can’t perform that action at this time.
0 commit comments