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
49 lines (34 loc) · 1.32 KB
/
Copy pathmapFilterReduce.js
File metadata and controls
49 lines (34 loc) · 1.32 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
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 Cihazı", quantity: 2, unitPrice: 100 },
{ id: 5, productName: "Kitap", quantity: 3, unitPrice: 30 },
{ id: 6, productName: "Pot", quantity: 5, unitPrice: 150 },
]
function addToCart(sepet) {
cart.push({ id: 7, productName: "Ruhsat", quantity: 1, unitPrice: 20 })
}
addToCart(cart)
console.log(cart)
let sayi = 10
function sayiTopla(number) {
number += 1
}
sayiTopla(sayi)
console.log(sayi)
//array üzerinde tek tek dolaşan bir fonksiyondur
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>")
//istenilen özelliklere göre yeni array oluşturur
let quantityOver2 = cart.filter(product => product.quantity > 2)
addToCart(cart)
console.log(cart)
//Dizi içindeki eleman kadar işlem yapıp diziyi azaltmaya yarar.
//Burada 0 acc nin ilk değeri olur. Yani 0 , acc yi başlattığımız değer olur.
let total = cart.reduce((acc, product) => acc + product.unitPrice * product.quantity, 0)
console.log(total)