Giriş
Mutator metodlar şöyle.
constructor
Örnek
Boş bir dizi tanımlamak için şöyle yaparız.
Boş bir dizi tanımlamak için şöyle yaparız.
Yarı dolu bir dizi tanımlamak için şöyle yaparız.
Şöyle yaparız.
concat metodu yazısına taşıdım.
copyWithin metodu
Mutator metodlar şöyle.
Array.prototype.copyWithin()
Array.prototype.fill()
Array.prototype.pop()
Array.prototype.push()
Array.prototype.reverse()
Array.prototype.shift()
Array.prototype.sort()
Array.prototype.splice()
Array.prototype.unshift()
Şeklen şöyle
Örnek
Boş bir dizi tanımlamak için şöyle yaparız.
var list = [];
Aynı şeyi var yerine let ile yapmak için şöyle yaparız.let list = [];
ÖrnekBoş bir dizi tanımlamak için şöyle yaparız.
var x = new Array();
ÖrnekYarı dolu bir dizi tanımlamak için şöyle yaparız.
var list = new Array(1, , 3, ); // [1, undefined, 3, undefined]
Aynı şeyi Array kelimesini kullanmadan şöyle yaparız.var list = [undefined, undefined, 2]
Aynı şeyi Array kelimesini kullanmadan şöyle yaparız.let array1 = [4,5,6]; // array created with an array litteral
constructor - sizeŞöyle yaparız.
const data = Array(10).fill().map((v, i) => ({id: i + 1}))
concat metoduconcat metodu yazısına taşıdım.
copyWithin metodu
Array'i kendi içnde kopyalamak içndir.
every metodu
Örnek
Şöyle yaparız.split işleminden sonra gelen her eleman ilk değere eşitse boş string döner. Değilse en büyük değeri döner.
s=>(a=s.split`,`).every(e=>a[0]==e)?'':Math.max(...a)
flatMap metoduflatMap metodu yazısına taşıdım.
fill metodu
Şöyle yaparız.
Array(6).fill('somedata')
filter metodufilter metodu yazısına taşıdım.
find
find metodu yazısına taşıdım.
findIndex metodu - value
Örnek
Şöyle yaparız.
arr = [1.99, 2.19, 2.39, 2.59, 2.79, 2.99, 3.19, 3.39, 3.59, 3.79, 4.00]
// 4
console.log(arr.findIndex(item => item > 2.65))
// 5
console.log(arr.findIndex(item => item > 2.85))
// 0
console.log(arr.findIndex(item => item > 1.85))
// -1 -- no items greater than 4.0
console.log(arr.findIndex(item => item > 4.5))
findIndex metodu - value + indexÖrnek
Şöyle yaparız.
const indexEqualsValue = array => array.findIndex((v, i) => v === i);
console.log(indexEqualsValue([-8, 0, 2, 5])); // 2
console.log(indexEqualsValue([-1, 0, 3, 6])); // -1
forEach metodu
Array'deki her elemanı bir metoda sokabilmek için çok kullanışlı.
1. Eğer yeni bir dizi istiyorsak forEach() yerine map() metodu da kullanılabilir.
2. forEach() yerine for döngüsü de kullanılabilir.
Örnek
Şöyle yaparız.
// testing mutations with Array methods
function ageUp (n){
return n+1;
}
function coolName (name){
return name+name;
}
// testing using an array of objects
const a = [{ name: "John", age: 6}, { name: "Jane", age: 4}]
const b = [{ name: "Jonas", age: 20}, { name: "Jana", age: 30}]
a.forEach( person => {
person.name = coolName(person.name)
person.age = ageUp(person.age)
}
)
ÖrnekElimizde bir Json dizisi olsun. Bu dizideki profile_image_url alanı null olan nesnelerin bu alanına bir değer atamak isteyelim. Şöyle yaparız.
var arr = [{
"country": "",
"artist_id": 4,
"email": "LzoCqLeVpy8h@example.com",
"profile_image_url": ""
}, {...}, {...}, {...}];
// e: element, i: index
arr.forEach(function(e, i) {
if (e.profile_image_url === '') {
arr[i].profile_image_url = '/media/artist/img_0930-1-9654.jpg';
}
});
console.log(arr);
document.write('<pre>' + JSON.stringify(arr, 0, 2) + '</pre>');
from metoduAçıklaması şöyle. Belirtilen büyüklükte bir diziyi belirtilen değerlerle doldurur.
You can pass a {length: somlength} object or some other array-like object and a function that defines each item. The first argument (calling it _ just to indicate it's not used) to that function would be the item from an array we passed in (but we only passed in a length so it doesn't mean much), the second i is the index, which is used for your idÖrnek - string
Şöyle yaparız
const emoji = '👍';
console.log(Array.from(emoji)); // Output: ["👍"]
Örnek - array + mapŞöyle yaparız.
Array.from(new Array(5), (und, ind) => ind) // This returns [0,1,2,3,4]
Örnek - object + indexŞöyle yaparız.
let sampleData = Array.from({length: 10}, (_, i) => ({id:i}))
includes metoduŞöyle yaparız. Bu metod yerine Set sınıfı kullanılabilir.
if (!["of", "and", "the", "to"].includes(...)) {...}
isArray metoduŞöyle yaparız
const names = x => (Array.isArray(x) ? x : [x]).map(name => name && name.toUpperCase());
console.log(JSON.stringify( names(['Bart', 'Lisa']) ));
console.log(JSON.stringify( names('Homer') ));
console.log(JSON.stringify( names('') ));
console.log(JSON.stringify( names(null) ));
console.log(JSON.stringify( names([null]) ));
console.log(JSON.stringify( names([undefined, "Roger", "Bob", null]) ));
join metoduŞöyle yaparız.
let arr = [1, 2, 3, 4, 5];
alert(arr.join());
length Alanı
Örnek
Array'in boyunu alırız
Elimizde şöyle bir kod olsun.
Mevcut bir nesnenin boyunu sıfır yaparsak içindeki herşeyi sileriz.
map metodu yazısına taşıdım.
operator [] metodu - Adding an item at an arbitrary location in javascript array
Belirtilen konuma değer atar. Bu operator gerekirse diziyi dense veya sparse yapar. Açıklaması şöyle.
Şöyle yaparız.
Şöyle yaparız
Dizi büyürse length alanı da büyür ve aradaki boşluklar doldurulur. Şöyle yaparız.
pop metodu
En sondaki elemanı alır.
Örnek
Tüm diziyi şöyle sileriz.
Şöyle yaparız.
reduce metodu yazısına taşıdım.
reduceRight metodu
reduce() metodu gibidir. Array soldan sağa yerine sağdan sola dolaşılır
reverse metodu
Array'in boyunu alırız
for(var i = list.length - 1; i >= 0; i--) {
if(list[i] === item) {...}
}
ÖrnekElimizde şöyle bir kod olsun.
var fruits = [];
fruits.push('banana', 'apple', 'peach');
console.log(fruits.length); // 3
Length'i artırmak mümkün.Açıklaması şöyle.When setting a property on a JavaScript array when the property is a valid array index and that index is outside the current bounds of the array, the engine will update the array's length property accordingly:Şöyle yaparız.
fruits[5] = 'mango';
console.log(fruits[5]); // 'mango'
console.log(Object.keys(fruits)); // ['0', '1', '2', '5']
console.log(fruits.length); // 6
Tekrar artıralımfruits.length = 10;
console.log(Object.keys(fruits)); // ['0', '1', '2', '5']
console.log(fruits.length); // 10
Azaltırsak sayılar silinir. Açıklaması şöyle.Decreasing the length property does, however, delete elements.Şöyle yaparız.
fruits.length = 2;
console.log(Object.keys(fruits)); // ['0', '1']
console.log(fruits.length); // 2
ÖrnekMevcut bir nesnenin boyunu sıfır yaparsak içindeki herşeyi sileriz.
list.length = 0
map metodumap metodu yazısına taşıdım.
operator [] metodu - Adding an item at an arbitrary location in javascript array
Belirtilen konuma değer atar. Bu operator gerekirse diziyi dense veya sparse yapar. Açıklaması şöyle.
ÖrnekSince an array's length can change at any time, and data can be stored at non-contiguous locations in the array, JavaScript arrays are not guaranteed to be dense; this depends on how the programmer chooses to use them. In general, these are convenient characteristics; but if these features are not desirable for your particular use, you might consider using typed arrays.
Şöyle yaparız.
if(list[i] === item) {...}
Örnek
Sparse dizi şöyledir.var a = []
a[100000000] = 100000000
ÖrnekŞöyle yaparız
const months = ['January', 'February', 'March', 'April', 'June'];
months[11] = "December";
console.log(months.indexOf("December"));
console.log(months);
Çıktı olarak şunu alırız[
"January",
"February",
"March",
"April",
"June",
undefined,
undefined,
undefined,
undefined,
undefined,
undefined,
"December"
]
ÖrnekDizi büyürse length alanı da büyür ve aradaki boşluklar doldurulur. Şöyle yaparız.
var a = []; // Create a new empty array.
a[5] = 5; // Perfectly legal JavaScript that resizes the array.
for (var i = 0; i < a.length; i++) {
// Iterate over numeric indexes from 0 to 5, as everyone expects.
console.log(a[i]);
}
/* Will display:
undefined
undefined
undefined
undefined
undefined
5
*/
Diziyi sadece dolu olan elemanları ile dolaşmak için şöyle yaparız.var a = [];
a[5] = 5;
for (var x in a) {
// Shows only the explicitly set index of "5", and ignores 0-4
console.log(x);
}
/* Will display:
5
*/
En sondaki elemanı alır.
Örnek
Tüm diziyi şöyle sileriz.
while(list.length > 0) {
list.pop();
}
ÖrnekŞöyle yaparız.
const input = ['one', 'two', 'three', 'four'];
const last = input.pop();
const result = input.join(', ') + ' and ' + last;
console.log(result);
Çıktı olarak şunu alırız.'one, two, three and four'
push metodu
Örnek
Şöyle yaparız.
Şöyle yaparız.
reduce metoduŞöyle yaparız.
let sampleData = [];
for (var p = 0; p < 25; p++){
sampleData.push({id: p});
}
return {
data: sampleData,
isLoading: true
};
Çıktı olarak şunu alırız.var sampleData = [{id: 1},{id: 2},...];
ÖrnekŞöyle yaparız.
function addItem (){
var name = prompt("Enter item name:");
list.push(name);
};
reduce metodu yazısına taşıdım.
reduceRight metodu
reduce() metodu gibidir. Array soldan sağa yerine sağdan sola dolaşılır
reverse metodu
Şöyle yaparız.
Dizinin başındaki elemanı siler.
some metodu
Aslında bu metodun ismi bence any() olmalıydı. Koşulu sağlayan bir eleman varsa true döner.
Örnek
Şöyle yaparız.
sort metodu yazısına taşıdım.
slice metodu
İlk parametre eğer varsa başlangıç konumunu gösterir. İkinci parametre eğer varsa bitiş konumunu gösterir. Eğer ilk parametre verilmezse 0 kabul edilir. Eğer son parametre verilmezse dizinin sonu verilmiş kabul edilir. Eğer son parametre belirtilirse hariç (exlude) bırakılır. Yaniki iki tane parametre varsa matematiksel olarak [start,end) şeklinde kabul edilir.
Örnek
Kopyasını almak için şöyle yaparız.
Diziyi tersine çevirmek için şöyle yaparız.
Verilen indeksten itibaren, verilen sayı kadar nesneyi siler. Tüm diziyi şöyle sileriz.
Belli bir değeri bulup silme ise şöyle olur. Önce değerin indeksini buluruz.let arr = [1, 2, 3, 4, 5];
arr.reverse();
shift metoduDizinin başındaki elemanı siler.
some metodu
Aslında bu metodun ismi bence any() olmalıydı. Koşulu sağlayan bir eleman varsa true döner.
Örnek
Şöyle yaparız.
if (this.data && this.data.some((item) => item.info)) {
...
}
sort metodusort metodu yazısına taşıdım.
slice metodu
İlk parametre eğer varsa başlangıç konumunu gösterir. İkinci parametre eğer varsa bitiş konumunu gösterir. Eğer ilk parametre verilmezse 0 kabul edilir. Eğer son parametre verilmezse dizinin sonu verilmiş kabul edilir. Eğer son parametre belirtilirse hariç (exlude) bırakılır. Yaniki iki tane parametre varsa matematiksel olarak [start,end) şeklinde kabul edilir.
Örnek
Kopyasını almak için şöyle yaparız.
var array2=[];
var items = [
{ label: '1', url: '1.png' },
{ label: '2', url: '2.png' },
{ label: '3', url: '3.png' },
{ label: '4', url: '4.png' },
{ label: '5', url: '5.png' },
{ label: '6', url: '6.png' },
{ label: '7', url: '7.png' },
{ label: '8', url: '8.png' },
{ label: '9', url: '9.png' },
{ label: '10', url: '10.png'},
{ label: '11', url: '11.png'},
{ label: '12', url: '12.png'}];
array2 = items.slice();
ÖrnekDiziyi tersine çevirmek için şöyle yaparız.
var list = ['c','a','r','p','e','t'];
var reversedList = list.slice(0).reverse();
splice metoduVerilen indeksten itibaren, verilen sayı kadar nesneyi siler. Tüm diziyi şöyle sileriz.
list.splice(0,list.length)
var array = [2, 5, 9];
var index = array.indexOf(5);
Sonra indeks mevcutsa splice() ile sileriz.
if (index > -1) {
array.splice(index, 1);
}
unshift metodu
shift() metodunun tersidir. Dizinin başına yeni bir eleman ekler.
Örnek
Diziyi tersine çevirmek için şöyle yaparız.
Mevcut sınıfa yeni metod ekleyebilme Javascript'in en önemli özelliği.
clear
Clear metodu eklemek için şöyle yaparız.
Şöyle yaparız
shift() metodunun tersidir. Dizinin başına yeni bir eleman ekler.
Örnek
Diziyi tersine çevirmek için şöyle yaparız.
function reverse(list) {
var list2 = [];
for (let i = 0; i < list.length; i++)
list2.unshift(list[i]);
return list2;
}
var list = ['c', 'a', 'r', 'p', 'e', 't'];
console.log(reverse(list));
Yeni Metod EklemeMevcut sınıfa yeni metod ekleyebilme Javascript'in en önemli özelliği.
clear
Clear metodu eklemek için şöyle yaparız.
Array.prototype.clear = function() {
this.splice(0, this.length);
};
Daha sonra yeni metod şöyle kullanılır.var list = [1, 2, 3];
list.clear();
remByValŞöyle yaparız
Array.prototype.remByVal = function(val) {
for (var i = 0; i < this.length; i++) {
if (this[i] === val) {
this.splice(i, 1);
i--;
}
}
return this;
}
//Call like
[1, 2, 3, 4].remByVal(3);
Yeni Alan Ekleme
Şöyle yaparız.
Şöyle yaparız.
// Somewhere deep in your JavaScript library...
Array.prototype.foo = 1;
// Now you have no idea what the below code will do.
var a = [1, 2, 3, 4, 5];
for (var x in a){
// Now foo is a part of EVERY array and
// will show up here as a value of 'x'.
console.log(x);
}
/* Will display:
0
1
2
3
4
foo
*/
Hiç yorum yok:
Yorum Gönder