forked from engindemirog/javaScriptStarterKit
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmapFilterReduce.js
More file actions
67 lines (41 loc) · 1.59 KB
/
mapFilterReduce.js
File metadata and controls
67 lines (41 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
let cart=[
{id:1,productName:"telefon",quantity:3,unitPrice:4000},
{id:2,productName:"Bardak",quantity:2,unitPrice:30},
{id:3,productName:"kalem",quantity:1,unitPrice:20},
{id:4,productName:"şarj aleti",quantity:2,unitPrice:100},
{id:5,productName:"kitap",quantity:3,unitPrice:30},
{id:6,productName:"pot",quantity:5,unitPrice:150},
]
//bana sepetimi göster derken map kullanıyouz. Arrayı tek tek dolaşıyor.
// her bir product için console.log işlemini yapars
cart.map(product=> console.log(product.productName))
console.log("<ul>")
cart.map(product =>{
console.log("<li>" + product.productName+":"+product.unitPrice*product.quantity+"</li>")
}
)
console.log("<ul>")
// Filter fonksiyonu
//örneğin aramalarda kullanılır.
// filtrelenen değerler
let quantityOver2 = cart.filter(product=> product.quantity>2 )
console.log(quantityOver2)
// reduce da örneğin sepetteki toplamı görmek için kulalnılır.
// 0 acc nin ilk değeri 0'a product ın fiyatını ekleye ekleye sonuca ulaşır.
let total =cart.reduce((acc,product)=> acc+ product.unitPrice * product.quantity,0)
console.log(total)
//SPA SINGLE PAGE APPLICATION
// sepete ürün ekleyen fonksiyon
// referansa numarasını alıp, o referens numarasına id:7 değerini push ettik
function addToCard(sepet) {
sepet.push({id:7,productName:"ruhsat",quantity:1,unitPrice:20})
}
addToCard(cart)
console.log(cart)
let sayi=10
function sayiTopla(number) {
number+=1
}
sayiTopla(sayi)
console.log(sayi)
//sayi değişmediği için 10 olarak gelir. Numberı çağırmadık sayiyi çağırdık.