You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/05-data-types/04-array/article.md
+14-14Lines changed: 14 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
Objeler değerlerin anahtarlı bir şekilde koleksiyon halinde tutulmasını sağlar.
4
4
5
-
Fakat bazı durumlarda *sıralı koleksiyon* tutmak gerekebilir, 1., 2. ve 3. elemente ihtiyac olabilir. Örneğin kullanıcıların, ürünlerin, HTML elementlerinin liste halinde tutulmasını istediğinizde;
5
+
Fakat bazı durumlarda *sıralı koleksiyon* tutmak gerekebilir, 1., 2. ve 3. elemente ihtiyaç olabilir. Örneğin kullanıcıların, ürünlerin, HTML elementlerinin liste halinde tutulmasını istediğinizde;
6
6
7
7
Obje kullanmak mantıklı değildir, çünkü elemanların sırasını tutmaz bu objeler. Var olanların "arasına" yeni bir özellik girilemez. Objeler böyle kullanımlara uygun değildir.
8
8
@@ -35,7 +35,7 @@ Elamanı değiştirmek mümkündür:
35
35
```js
36
36
meyveler[2] ='Armut'; // Şimdi ["Elma", "Portakal", "Armut"]
37
37
```
38
-
... Veya diziye yeni bir eleman eklemek mümküdür:
38
+
... Veya diziye yeni bir eleman eklemek mümkündür:
39
39
40
40
```js
41
41
meyveler[3] ='Limon'; // Şimdi ["Elma", "Portakal", "Armut", "Limon"]
@@ -112,7 +112,7 @@ Yığın bir deste kart olarak düşünülebilir: yeni kartlar eklendiğinde en
112
112
113
113

114
114
115
-
Yığına en son eklenen eleman ilk olarak alınır, Buna LIFO(Last-In-First-Out) Son giren ilk çıkar prensibi denir. Kuyruklar için ise FIFO(First-In-First-Out) yani ilk giren ilk çıkar prensibi kullanılır.
115
+
Yığına en son eklenen eleman ilk olarak alınır, Buna LIFO(Last-In-First-Out) Son giren ilk çıkar prensibi denir. Kuyruklar için ise FIFO(First-In-First-Out) yani ilk giren ilk çıkar prensibi kullanılır.
116
116
117
117
JavaScript'te diziler yığın veya kuyruk olarak kullanılabilirler. Başlangıca veya sona yeni eleman eklenebilir veya çıkartılabilir.
118
118
@@ -122,7 +122,7 @@ Bilgisayar biliminde bu işlemlere izin veren veri yapılarına [deque](https://
122
122
**Dizilerin sonu ile ilgili metodlar:**
123
123
124
124
`pop`
125
-
: Dizinin son elemanını dönderir:
125
+
: Dizinin son elemanını döndürür:
126
126
127
127
```js run
128
128
let meyveler = ["Elma", "Portakal", "Armut"];
@@ -247,11 +247,11 @@ meyveler.shift(); // Başlangıçtan bir eleman al
247
247
248
248

249
249
250
-
**Daha fazla elaman, daha falza taşınma süresi , daha fazla hafıza içi işlem demektir**
250
+
**Daha fazla elaman, daha fazla taşınma süresi , daha fazla hafıza içi işlem demektir.**
251
251
252
252
Aynı şey `unshift` için de geçerlidir: dizilerin başına eleman ekleneceği zaman öncelikle elemanların sağa kaydırılarak indeks artırılması gerekir.
253
253
254
-
Peki `push/pop` için böyle işlemlere gerek yokmu? Sondaki elemanı alabilmek için `pop` metodu indexi siler ve `length`'i bir azaltır.
254
+
Peki `push/pop` için böyle işlemlere gerek yok mu? Sondaki elemanı alabilmek için `pop` metodu indexi siler ve `length`'i bir azaltır.
255
255
256
256
`pop` metodunun yaptığı işlemler:
257
257
@@ -261,7 +261,7 @@ fruits.pop(); // Sondan bir eleman al
261
261
262
262

263
263
264
-
**`pop` hiçbir şey taşımaz çünkü diğer elemanların `index`'i değişmez. Bundan dolayı aşırı derecede hızlıdır**
264
+
**`pop` hiçbir şey taşımaz çünkü diğer elemanların `index`'i değişmez. Bundan dolayı aşırı derecede hızlıdır.**
265
265
266
266
`push`'da aynı şekilde sona ekler.
267
267
@@ -278,7 +278,7 @@ for (let i = 0; i < arr.length; i++) {
278
278
alert( arr[i] );
279
279
}
280
280
```
281
-
Diziler için diğer yöntem ise, `for..of`'dur:
281
+
Diziler için diğer yöntem ise, `for..of`'tur:
282
282
283
283
```js run
284
284
let meyveler = ["Elma", "Portakal", "Erik"];
@@ -291,7 +291,7 @@ for(let meyve of meyveler) {
291
291
292
292
`for..of` var olan elemanın kaçıncı eleman olduğunun görülmesine izin vermez, sadece değeri döner. Fakat çoğu durumda bu daha kısa ve yeterli bir kullanımdır.
293
293
294
-
Teknik olarak diziler objedir, bundan dolayı `for..in` kullanmak mümküdür.
294
+
Teknik olarak diziler objedir, bundan dolayı `for..in` kullanmak mümkündür.
295
295
296
296
```js run
297
297
let arr = ["Elma", "Portakal", "Erik"];
@@ -308,7 +308,7 @@ Fakat bu bazı problemlere neden olur:
308
308
309
309
"dizi-benzeri" objeler bazı tarayıcı ve diğer çevrelerde kullanılmaktadır. Bunlar "dizi gibi dururlar", `length` ve indeks özelliklerine sahiptirler fakat sayısal olmayan özelliklere sahip metodlar da bulunmaktadır. Genelde bunlara ihtiyaç duyulmaz. `for..in` döngüsü bunları da listeler. Bundan dolayı dizi-benzeri bir obje ile çalışılacaksa, bu "ekstra" özellikler problem teşkil edebilir.
310
310
311
-
2.`for..in` döngüsü genel objeler için kullanışlıdır, diziler için değil. Bundan dolayı diziler için kullanıldığında 10-100 kata kadar daha yavaştır. Tabi hala hızlı sayılır. Bu hız sadece darboğaz(bottleneck) olduğunda önem kazanır, aksi halde anlamsızdır. Fakat yine de bu farkı bilmek iyidir.
311
+
2.`for..in` döngüsü genel objeler için kullanışlıdır, diziler için değil. Bundan dolayı diziler için kullanıldığında 10-100 kata kadar daha yavaştır. Tabi hala hızlı sayılır. Bu hız sadece darboğaz(bottleneck) olduğunda önem kazanır, aksi halde anlamsızdır. Fakat yine de bu farkı bilmek iyidir.
312
312
313
313
Genel olarak, `for..in` diziler ile kullanılmaz.
314
314
@@ -385,7 +385,7 @@ alert( matrix[1][1] ); // merkez eleman
385
385
386
386
## toString
387
387
388
-
Dizilerin kendi `toString`uygulaması mevcuttur. Bu dizilerin arasına virgül konularak geri dönderilir.
388
+
Dizilerin kendi `toString`uygulaması mevcuttur. Bu dizilerin arasına virgül konularak geri döndürülür.
389
389
390
390
Örneğin:
391
391
@@ -404,7 +404,7 @@ alert( [1] + 1 ); // "11"
404
404
alert( [1,2] +1 ); // "1,21"
405
405
```
406
406
407
-
Dizilerin `Symbol.toPrimitive` özellikleri yoktur, `valueOf` metodu da bulunmamaktadır. Sadece `toString` çevirimi mevcuttur. Bundan dolayı `[]` boş karakter dizisi dönderir`` , `[1]` 1, veya `[1,2]``"1,2"`dönderir.
407
+
Dizilerin `Symbol.toPrimitive` özellikleri yoktur, `valueOf` metodu da bulunmamaktadır. Sadece `toString` çevirimi mevcuttur. Bundan dolayı `[]` boş karakter dizisi döndürür`` , `[1]` 1, veya `[1,2]``"1,2"`döndürür.
408
408
409
409
`"+"` operatörü karakter dizisine ekleme yaptığında diğer bölümü de karakter dizisine çevirir. Bundan dolayı sonraki adım şu şekilde görülür:
410
410
@@ -436,8 +436,8 @@ Dizi özel bir çeşit objedir, verilerin sıralı bir şekilde saklanması içi
436
436
Dizi üzerinde aşağıdaki işlemler yapılabilir:
437
437
438
438
- `push(...items)` `items`'ı sona ekler.
439
-
-`pop()` sondan bir eleman siler ve dönderir.
440
-
-`shift()` başlangıçtan eleman siler ve bunu dönderir.
439
+
-`pop()` sondan bir eleman siler ve döndürür.
440
+
-`shift()` başlangıçtan eleman siler ve bunu döndürür.
0 commit comments