| Line 4: |
Line 4: |
| | *[[ Z%5E3_Language_Documentation | Z3 Language Documentation]] | | *[[ Z%5E3_Language_Documentation | Z3 Language Documentation]] |
| | *[[ Z%5E3_Array_Manipulation_Member_Functions | Listing of Z3 Array Manipulation Member Functions]] | | *[[ Z%5E3_Array_Manipulation_Member_Functions | Listing of Z3 Array Manipulation Member Functions]] |
| | + | |
| | + | ==Map Reduce Functions== |
| | + | |
| | + | a=1..10; |
| | + | var result=[]; |
| | + | for(var i=0;i<a.length;i++) |
| | + | { |
| | + | console.log(a[i],i) |
| | + | result.push((a[i])^2) |
| | + | |
| | + | } |
| | + | result |
| | + | |
| | + | ----------------- |
| | + | |
| | + | Using map function |
| | + | a=1..10; |
| | + | a.map( |
| | + | function (x,i) |
| | + | { |
| | + | console.log(x,i) |
| | + | return(x^2) |
| | + | } |
| | + | ) |
| | + | |
| | + | a.map((x,i)=>x^2) |
| | + | |
| | + | a.$("x^2") |
| | + | |
| | + | f:=x^2; |
| | + | a.$(f) |
| | + | |
| | + | ----------- |
| | + | |
| | + | Reduce function |
| | + | a=1..10; |
| | + | a.reduce((x,i,last)=>x+last,10) |
| | + | |
| | + | |
| | + | a.reduce( |
| | + | function(last,x,i) |
| | + | { |
| | + | return(x+last) |
| | + | }, |
| | + | 10 |
| | + | ) |
| | + | |
| | + | a.reduce((last,x,i)=>x+last,10) |
| | + | |
| | + | a |
| | + | |
| | + | |
| | + | |
| | + | var sum=0; |
| | + | for(var i=0;i<a.length;i++) |
| | + | { |
| | + | sum=sum+a[i] |
| | + | |
| | + | } |
| | + | sum |
| | + | |
| | + | a.reduce( |
| | + | function(last,x, i) |
| | + | { |
| | + | return(x+last) |
| | + | }, |
| | + | 10 |
| | + | ) |
| | + | |
| | + | a.reduce( |
| | + | function(last,x, i) |
| | + | { |
| | + | return(Math.max(x,last)) |
| | + | }, |
| | + | 60 |
| | + | ) |
| | + | |
| | + | a.reduce( |
| | + | function(last,x, i) |
| | + | { |
| | + | return(Math.min(x,last)) |
| | + | }, |
| | + | 60 |
| | + | ) |
| | + | |
| | + | |
| | + | a.reduce( |
| | + | function(last,x,i) |
| | + | { |
| | + | console.log(last,x,i) |
| | + | return(x+last) |
| | + | }, |
| | + | 0 |
| | + | ) |
| | + | |
| | + | a.reduce( |
| | + | function(last,x,i) |
| | + | { |
| | + | console.log(last,x,i) |
| | + | return(last-x) |
| | + | }, |
| | + | 0 |
| | + | ) |
| | + | |
| | + | |
| | + | a.reduce( |
| | + | function(last,x,i) |
| | + | { |
| | + | console.log(last,x,i) |
| | + | return(last*x) |
| | + | }, |
| | + | 1 |
| | + | ) |
| | + | |
| | + | SUM(a) |
| | + | |
| | + | PRODUCT(a) |
| | + | |
| | + | 1/2/3/4/5/6/7/8/9/10 |
| | + | |
| | + | a.reduce( |
| | + | function(last,x,i) |
| | + | { |
| | + | console.log(last,x,i) |
| | + | return(last/x) |
| | + | }, |
| | + | 1 |
| | + | ) |
| | + | |
| | + | |
| | + | a.filter( |
| | + | function(x,i) |
| | + | { |
| | + | return(x%2) |
| | + | } |
| | + | ) |
| | + | |
| | + | |
| | + | a.filter( |
| | + | function(x,i) |
| | + | { |
| | + | return(x%2==1) |
| | + | } |
| | + | ) |
| | + | |
| | + | |
| | + | var result=[]; |
| | + | for(var i=0;i<a.length;i++) |
| | + | { |
| | + | if(a[i]%2==1) |
| | + | { |
| | + | result.push(a[i]) |
| | + | } |
| | + | |
| | + | } |
| | + | result |
| | + | |
| | + | |
| | + | |
| | + | a.filter( |
| | + | function(x) |
| | + | { |
| | + | return(x%2==1) |
| | + | } |
| | + | ) |
| | + | |
| | + | a.filter(x=>x%2==1) |
| | + | |
| | + | var result=[]; |
| | + | for(var i=0;i<a.length;i++) |
| | + | { |
| | + | if(i%4==0) |
| | + | { |
| | + | result.push(a[i]) |
| | + | } |
| | + | |
| | + | } |
| | + | result |
| | + | |
| | + | a=1..100; |
| | + | var result=[]; |
| | + | for(var i=0;i<a.length;i++) |
| | + | { |
| | + | if(i%4==0) |
| | + | { |
| | + | result.push(a[i]) |
| | + | } |
| | + | |
| | + | } |
| | + | result |
| | + | |
| | + | |
| | + | a=1..100; |
| | + | var result=[]; |
| | + | for(var i=0;i<a.length;i=i+4) |
| | + | { |
| | + | result.push(a[i]) |
| | + | } |
| | + | result |
| | + | |
| | + | |
| | + | a=1..100; |
| | + | var result=[]; |
| | + | for(var i=0;i<a.length;i++) |
| | + | { |
| | + | if(((i%4)==3)||(i%4)==0) |
| | + | { |
| | + | result.push(a[i]) |
| | + | } |
| | + | |
| | + | } |
| | + | result |
| | + | |
| | + | |
| | + | a=1..100; |
| | + | var result=[]; |
| | + | for(var i=0;i<a.length;i++) |
| | + | { |
| | + | if(((i%4)==3)||((i%4)==0)) |
| | + | { |
| | + | result.push(a[i]) |
| | + | } |
| | + | |
| | + | } |
| | + | result |
| | + | |
| | + | a=1..100; |
| | + | var result=[]; |
| | + | for(var i=0;i<a.length;i++) |
| | + | { |
| | + | if((i%4)==0) |
| | + | { |
| | + | result.push(a[i-1]) |
| | + | } |
| | + | |
| | + | } |
| | + | result |
| | + | |
| | + | |
| | + | |
| | + | |
| | + | a=1..100; |
| | + | var result=[]; |
| | + | for(var i=0;i<a.length;i=i+4) |
| | + | { |
| | + | result.push(a[i-1]) |
| | + | result.push(a[i]) |
| | + | } |
| | + | result |
| | + | |
| | + | |
| | + | a=1..100; |
| | + | var result=[]; |
| | + | for(var i=2;i<a.length;i++) |
| | + | { |
| | + | if((i%3)==0) |
| | + | { |
| | + | result.push(a[i]) |
| | + | } |
| | + | if((i%4)==0) |
| | + | { |
| | + | result.push(a[i]) |
| | + | } |
| | + | |
| | + | } |
| | + | result |
| | + | |
| | + | a=1..100; |
| | + | var result=[]; |
| | + | for(var i=2;i<a.length;i++) |
| | + | { |
| | + | if((i%3)==2) |
| | + | { |
| | + | result.push(a[i]) |
| | + | } |
| | + | if((i%4)==3) |
| | + | { |
| | + | result.push(a[i]) |
| | + | } |
| | + | |
| | + | } |
| | + | result |
| | + | |
| | + | |
| | + | |
| | + | vehicles= |
| | + | [ |
| | + | { |
| | + | speed: 23, |
| | + | color:"red", |
| | + | price:34.56 |
| | + | }, |
| | + | { |
| | + | speed: 22, |
| | + | color:"orange", |
| | + | price:14.56 |
| | + | }, |
| | + | { |
| | + | speed: 12, |
| | + | color:"green", |
| | + | price:34.56 |
| | + | }, |
| | + | { |
| | + | speed: 1.2, |
| | + | color:"grey", |
| | + | price:134.56 |
| | + | }, |
| | + | { |
| | + | speed: 62, |
| | + | color:"white", |
| | + | price:54.56 |
| | + | } |
| | + | ] |
| | + | |
| | + | |
| | + | vehicles |
| | + | .map(v=>v.speed+2) |
| | + | |
| | + | |
| | + | vehicles.f(v=>v.color=="orange" || v.speed>50) |
| | + | |
| | + | |
| | + | vehicles |
| | + | .f(v=>v.speed>50) |
| | + | .reduce( |
| | + | function(last,v,i) |
| | + | { |
| | + | return(last+v.price) |
| | + | }, |
| | + | 0 |
| | + | ) |
| | + | vehicles |
| | + | .filter(v=>v.speed>50) |
| | + | .reduce( |
| | + | function(last,v,i) |
| | + | { |
| | + | return(last+v.price) |
| | + | }, |
| | + | 0 |
| | + | ) |
| | + | vehicles |
| | + | .filter(v=>v.speed>20) |
| | + | .reduce( |
| | + | function(last,v,i) |
| | + | { |
| | + | return(last+v.price) |
| | + | }, |
| | + | 0 |
| | + | ) |
| | + | |
| | + | vehicles |
| | + | .filter(v=>v.speed>20) |
| | + | .map(v=>v.price*20) |
| | + | vehicles |
| | + | .filter(v=>v.speed>20) |
| | + | .map(v=>v.price*20%) |
| | + | |
| | + | |
| | + | |
| | + | |
| | + | |
| | + | vehicles |
| | + | .filter( |
| | + | function(v) |
| | + | { |
| | + | return( |
| | + | v.color=="orange" |
| | + | || |
| | + | v.speed>50 |
| | + | |
| | + | ) |
| | + | } |
| | + | ) |
| | + | /*var result=[] |
| | + | for(var i=0;i<vehicles.length;i++) |
| | + | { |
| | + | if(vehicles[i].color=="orange") |
| | + | { |
| | + | result.push(vehicles[i]) |
| | + | } |
| | + | } |
| | + | console.log(result)*/ |
| | + | |
| | + | var result=[] |
| | + | for(var i=0;i<vehicles.length;i++) |
| | + | { |
| | + | if(vehicles[i].color=="orange") |
| | + | { |
| | + | result.push(vehicles[i]) |
| | + | } |
| | + | } |
| | + | console.log(result) |
| | + | vehicles |
| | + | .map(v=>v.speed=v.speed+3) |
| | + | |
| | + | vehicles |
| | + | .map(v=>v.speed) |
| | + | |
| | + | |
| | + | vehicles.f(v=>v.color=="orange" || v.speed>50) |
| | + | |
| | + | |
| | + | vehicles |
| | + | .filter(v=>v.speed>20) |
| | + | .map(v=>v.price*120%) |
| | + | |
| | + | vehicles |
| | + | .filter(v=>v.speed>20) |
| | + | .map(v=>[v.color,v.price*120%]) |
| | + | |
| | + | vehicles |
| | + | .filter(v=>v.speed>20) |
| | + | .map(v=>[v.speed,v.color,v.price*120%]) |
| | + | |
| | + | vehicles |
| | + | .filter(v=>v.speed>20) |
| | + | .map(v=>[v.speed,v.color,v.price*80%]) |
| | + | |
| | + | |
| | + | |
| | + | newvehicles= |
| | + | [ |
| | + | { |
| | + | speed: 23, |
| | + | color:"red", |
| | + | price:34.56, |
| | + | power:243 |
| | + | }, |
| | + | { |
| | + | speed: 22, |
| | + | color:"orange", |
| | + | price:14.56, |
| | + | power:233 |
| | + | }, |
| | + | { |
| | + | speed: 12, |
| | + | color:"green", |
| | + | price:34.56, |
| | + | power:53 |
| | + | }, |
| | + | { |
| | + | speed: 1.2, |
| | + | color:"grey", |
| | + | price:134.56 |
| | + | }, |
| | + | { |
| | + | speed: 62, |
| | + | color:"white", |
| | + | price:54.56 |
| | + | } |
| | + | ] |
| | + | |
| | + | |
| | + | newvehicles.filter(v=>!v.power) |
| | + | |
| | + | newvehicles.filter(v=>v.power) |
| | + | |
| | + | newvehicles.filter(v=>!v.power) |
| | + | |
| | + | newvehicles |
| | + | .filter(v=>!v.power) |
| | + | .map(v=>[v.speed,v.color,v.price*80%]) |
| | + | speed color price power |
| | + | 23 red 34.56 243 |
| | + | 22 orange 14.56 233 |
| | + | 12 green 34.56 53 |
| | + | 1.2 grey 134.56 |
| | + | 62 white 54.56 |