Changes

4,254 bytes added ,  15:43, 31 December 2021
no edit summary
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
3,314

edits