11function u ( list1 , list2 ) {
22 return list1 . concat ( list2 ) . reduce ( function ( union , item ) {
3- return list1 . contains ( item ) && list2 . contains ( item ) && ! union . contains ( item ) ? union . concat ( item ) : union
3+ return list1 . includes ( item ) && list2 . includes ( item ) && ! union . includes ( item ) ? union . concat ( item ) : union
44 } , [ ] )
55}
66
77function n ( list1 , list2 ) {
88 return list1 . concat ( list2 ) . reduce ( function ( intersection , item ) {
9- return ( ! list1 . contains ( item ) || ! list2 . contains ( item ) ) && ! intersection . contains ( item ) ? intersection . concat ( item ) : intersection
9+ return ( ! list1 . includes ( item ) || ! list2 . includes ( item ) ) && ! intersection . includes ( item ) ? intersection . concat ( item ) : intersection
1010 } , [ ] )
1111}
1212
@@ -40,7 +40,7 @@ function predictLike (itemId, user, users) {
4040
4141 function whoLikes ( itemId ) {
4242 return function ( user ) {
43- return user . likes . contains ( itemId )
43+ return user . likes . includes ( itemId )
4444 }
4545 }
4646
@@ -54,7 +54,7 @@ function predictLike (itemId, user, users) {
5454
5555 function whoDislikes ( itemId ) {
5656 return function ( user ) {
57- return user . dislikes . contains ( itemId )
57+ return user . dislikes . includes ( itemId )
5858 }
5959 }
6060
@@ -70,12 +70,12 @@ function recommendationsFor(user, users) {
7070 return user . likes . concat ( user . dislikes ) . reduce ( aggregateUnique , itemIds )
7171 }
7272 function aggregateUnique ( array , element ) {
73- return array . contains ( element ) ? array : array . concat ( element )
73+ return array . includes ( element ) ? array : array . concat ( element )
7474 }
7575
7676 var unratedItemIds = allItemIds . filter ( userHasNotRated )
7777 function userHasNotRated ( itemId ) {
78- return ! user . likes . concat ( user . dislikes ) . contains ( itemId )
78+ return ! user . likes . concat ( user . dislikes ) . includes ( itemId )
7979 }
8080
8181 var predictions = unratedItemIds . map ( function ( itemId ) {
@@ -94,8 +94,8 @@ function recommendationsFor(user, users) {
9494 return recommendations
9595}
9696
97- // You're welcome to use this but you don't have to: [1,2,3].contains (2) -> true
98- Object . defineProperty ( Array . prototype , 'contains ' , {
97+ // You're welcome to use this but you don't have to: [1,2,3].includes (2) -> true
98+ Object . defineProperty ( Array . prototype , 'includes ' , {
9999 value : function ( primitive ) {
100100 return this . indexOf ( primitive ) !== - 1 // <- Nobody wants to read that!
101101 } ,
0 commit comments