logo
eng-flag

Lodash Notları ve İpuçları

Lodash, modülerlik, performans ve ek özellikler sunan modern bir JavaScript yardımcı kütüphanesidir. Bu cheatsheet, yaygın olarak kullanılan Lodash işlevlerinin örneklerle bir özetini sağlar.

İçindekiler

  1. Dizi
  2. Koleksiyon
  3. Fonksiyon
  4. Dil
  5. Nesne
  6. String
  7. Yardımcı

Dizi

_.chunk(dizi, [boyut=1])

Diziyi, boyut kadar gruplara böler.

Örnek:

_.chunk(['a', 'b', 'c', 'd'], 2);
// => [['a', 'b'], ['c', 'd']]

_.chunk(['a', 'b', 'c', 'd'], 3);
// => [['a', 'b', 'c'], ['d']]

_.compact(dizi)

Diziden geçersiz değerleri kaldırır.

Örnek:

_.compact([0, 1, false, 2, '', 3]);
// => [1, 2, 3]

_.difference(dizi, [değerler])

Diğer verilen dizilerde yer almayan dizi değerlerinden oluşan bir dizi oluşturur.

Örnek:

_.difference([2, 1], [2, 3]);
// => [1]

_.drop(dizi, [n=1])

Başlangıçtan n kadar elemanı atarak bir dilim oluşturur.

Örnek:

_.drop([1, 2, 3]);
// => [2, 3]

_.drop([1, 2, 3], 2);
// => [3]

_.flatten(dizi)

Diziyi tek bir seviyede düzleştirir.

Örnek:

_.flatten([1, [2, [3, [4]], 5]]);
// => [1, 2, [3, [4]], 5]

_.flattenDeep(dizi)

Diziyi yinelemeli olarak düzleştirir.

Örnek:

_.flattenDeep([1, [2, [3, [4]], 5]]);
// => [1, 2, 3, 4, 5]

Koleksiyon

.countBy(koleksiyon, [iteratör=.identity])

Koleksiyonun her bir elemanını iteratörden geçirerek anahtarlar üreten bir nesne oluşturur.

Örnek:

_.countBy([6.1, 4.2, 6.3], Math.floor);
// => { '4': 1, '6': 2 }

.forEach(koleksiyon, [iteratör=.identity])

Koleksiyonun elemanları üzerinde döner ve her eleman için iteratörü çağırır.

Örnek:

_.forEach([1, 2], function(değer) {
  console.log(değer);
});
// => '1' ve ardından '2' yazdırır

.groupBy(koleksiyon, [iteratör=.identity])

Koleksiyonun her bir elemanını iteratörden geçirerek anahtarlar üreten bir nesne oluşturur.

Örnek:

_.groupBy([6.1, 4.2, 6.3], Math.floor);
// => { '4': [4.2], '6': [6.1, 6.3] }

.map(koleksiyon, [iteratör=.identity])

Koleksiyonun her elemanını iteratörden geçirerek bir dizi oluşturur.

Örnek:

function kare(n) {
  return n * n;
}

_.map([4, 8], kare);
// => [16, 64]

Fonksiyon

_.debounce(fonk, [bekleme=0], [seçenekler={}])

Fonksiyonu, debounced fonksiyonun son çağrısından sonra belirli bir süre boyunca çağrılmasını geciktiren bir debounced fonksiyonu oluşturur.

Örnek:

const debounced = _.debounce(() => console.log('Merhaba'), 1000);
debounced();
debounced();
// => 1000ms sonra 'Merhaba' yazdırır

_.memoize(fonk, [çözümleyici])

Fonksiyonun sonucunu önbelleğe alan bir fonksiyon oluşturur.

Örnek:

const fibonacci = _.memoize(n => {
  return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2);
});

fibonacci(10);
// => 55

_.throttle(fonk, [bekleme=0], [seçenekler={}])

Fonksiyonu, her bekleme süresi boyunca en fazla bir kez çağıran bir throttled fonksiyon oluşturur.

Örnek:

const throttled = _.throttle(() => console.log('throttle'), 1000);
throttled();
throttled();
// => 1000ms'de bir 'throttle' yazdırır

Dil

_.isArray(değer)

Değerin bir Dizi nesnesi olup olmadığını kontrol eder.

Örnek:

_.isArray([1, 2, 3]);
// => true

_.isArray('abc');
// => false

_.isNumber(değer)

Değerin bir Sayı primitive veya nesnesi olup olmadığını kontrol eder.

Örnek:

_.isNumber(3);
// => true

_.isNumber('3');
// => false

_.isString(değer)

Değerin bir String primitive veya nesnesi olup olmadığını kontrol eder.

Örnek:

_.isString('abc');
// => true

_.isString(1);
// => false

Nesne

_.assign(nesne, [kaynaklar])

Kaynak nesnelerin kendi enumerable string anahtar özelliklerini hedef nesneye atar.

Örnek:

_.assign({ 'a': 1 }, { 'b': 2 }, { 'c': 3 });
// => { 'a': 1, 'b': 2, 'c': 3 }

_.get(nesne, yol, [varsayılanDeğer])

Nesnenin yolundaki değeri alır.

Örnek:

const nesne = { 'a': [{ 'b': { 'c': 3 } }] };

_.get(nesne, 'a[0].b.c');
// => 3

_.get(nesne, ['a', '0', 'b', 'c']);
// => 3

_.get(nesne, 'a.b.c', 'varsayılan');
// => 'varsayılan'

_.has(nesne, yol)

Yolun nesnenin doğrudan bir özelliği olup olmadığını kontrol eder.

Örnek:

const nesne = { 'a': { 'b': 2 } };

_.has(nesne, 'a');
// => true

_.has(nesne, 'a.b');
// => true

_.has(nesne, ['a', 'b']);
// => true

_.merge(nesne, [kaynaklar])

Bu yöntem, _.assign gibi çalışır ancak kaynak nesnelerin kendi ve miras alınan enumerable string anahtar özelliklerini hedef nesneye yinelemeli olarak birleştirir.

Örnek:

const nesne = {
  'a': [{ 'b': 2 }, { 'd': 4 }]
};

const diğer = {
  'a': [{ 'c': 3 }, { 'e': 5 }]
};

_.merge(nesne, diğer);
// => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }

String

_.camelCase([string=''])

String'i camel case formatına dönüştürür.

Örnek:

_.camelCase('Foo Bar');
// => 'fooBar'

_.camelCase('--foo-bar--');
// => 'fooBar'

_.camelCase('__FOO_BAR__');
// => 'fooBar'

_.kebabCase([string=''])

String'i kebab case formatına dönüştürür.

Örnek:

_.kebabCase('Foo Bar');
// => 'foo-bar'

_.kebabCase('fooBar');
// => 'foo-bar'

_.kebabCase('__FOO_BAR__');
// => 'foo-bar'

_.snakeCase([string=''])

String'i snake case formatına dönüştürür.

Örnek:

_.snakeCase('Foo Bar');
// => 'foo_bar'

_.snakeCase('fooBar');
// => 'foo_bar'

_.snakeCase('__FOO_BAR__');
// => 'foo_bar'

Yardımcı

_.noConflict()

Lodash'ın _ değişkeni üzerindeki kontrolünü kaybeder ve bu değişkenin eski değerini döndürür.

Örnek:

const _ = require('lodash');
const oldLodash = _.noConflict();

_.random([alt=0], [üst=1], [kesirli=false])

Belirtilen aralıkta rastgele bir sayı döndürür.

Örnek:

_.random(0, 5);
// => 4 (veya 0-5 arası herhangi bir sayı)

_.random(0, 5, true);
// => 3.134 (veya 0-5 arası herhangi bir kesirli sayı)

.times(n, [iteratör=.identity])

Verilen sayıda döngü gerçekleştirir ve her bir iterasyonda bir fonksiyon çağırır.

Örnek:

_.times(3, n => n * 2);
// => [0, 2, 4]

2024 © Tüm hakları saklıdır - buraxta.com