Rumah >hujung hadapan web >tutorial js >Lodash - alat kuasa javascript

Lodash - alat kuasa javascript

Barbara Streisand
Barbara Streisandasal
2024-11-18 04:54:02295semak imbas

Lodash - a javascript power tool

Lodash, pengganti ringan untuk Underscore.js, ialah perpustakaan utiliti JavaScript yang popular yang memudahkan tugas pengaturcaraan biasa. Terokai 20 fungsi Lodash teratas di bawah untuk meningkatkan kemahiran JavaScript anda:


1. _.dapatkan

  • Dapatkan semula sifat bersarang daripada objek dengan selamat, mengelakkan ralat jika sifat itu tidak wujud.
const obj = { a: { b: { c: 42 } } }; _.get(obj, 'a.b.c', 'default'); // 42

2. _.set

  • Menetapkan nilai sifat bersarang dalam objek, mencipta sifat perantaraan jika ia tidak wujud.
const obj = {}; _.set(obj, 'a.b.c', 42); console.log(obj); // { a: { b: { c: 42 } } }

3. _.cloneDeep

  • Mencipta salinan dalam objek atau tatasusunan.
const arr = [{ a: 1 }]; const deepClone = _.cloneDeep(arr);

4. _.debounce

  • Menangguhkan pelaksanaan fungsi sehingga selepas masa tertentu berlalu sejak panggilan terakhirnya.
const log = _.debounce(() => console.log('Debounced!'), 300); window.addEventListener('resize', log);

5. _.pendikit

  • Memastikan fungsi dilaksanakan paling banyak sekali dalam selang masa tertentu.
const log = _.throttle(() => console.log('Throttled!'), 1000); window.addEventListener('scroll', log);

6. _.isKosong

  • Menyemak sama ada nilai ialah objek kosong, tatasusunan atau nilai palsu.
_.isEmpty([]); // true _.isEmpty({}); // true _.isEmpty(''); // true

7. _.bercantum

  • Mencantumkan dua atau lebih objek secara mendalam, menggabungkan sifatnya.
const obj1 = { a: { b: 1 } }; const obj2 = { a: { c: 2 } }; _.merge(obj1, obj2); // { a: { b: 1, c: 2 } }

8. _.pilih

  • Mencipta objek yang terdiri daripada sifat yang dipilih.
const obj = { a: 1, b: 2, c: 3 }; _.pick(obj, ['a', 'c']); // { a: 1, c: 3 }

9. _. tinggalkan

  • Mencipta objek tidak termasuk sifat yang ditentukan.
const obj = { a: 1, b: 2, c: 3 }; _.omit(obj, ['b']); // { a: 1, c: 3 }

10. _.uniq

  • Mengalih keluar nilai pendua daripada tatasusunan.
_.uniq([1, 2, 2, 3]); // [1, 2, 3]

11. _.kumpulanOleh

  • Mengumpulkan elemen tatasusunan berdasarkan kriteria yang disediakan.
_.groupBy([6.1, 4.2, 6.3], Math.floor); // { '4': [4.2], '6': [6.1, 6.3] }

12. _.sortBy

  • Mengisih tatasusunan objek berdasarkan sifat atau kriteria tertentu.
const users = [{ name: 'Tom', age: 30 }, { name: 'Jerry', age: 20 }]; _.sortBy(users, 'age'); // [{ name: 'Jerry', age: 20 }, { name: 'Tom', age: 30 }]

13. _.peta

  • Mencipta tatasusunan baharu dengan mengubah setiap elemen dalam koleksi.
_.map([1, 2, 3], n => n * 2); // [2, 4, 6]

14. _.penapis

  • Mencipta tatasusunan dengan elemen yang melepasi syarat yang disediakan.
_.filter([1, 2, 3, 4], n => n % 2 === 0); // [2, 4]

15. _.cari

  • Mencari elemen pertama yang memenuhi syarat.
_.find([1, 2, 3, 4], n => n > 2); // 3

16. _.ratakan

  • Meratakan tatasusunan bersarang menjadi tatasusunan satu peringkat.
_.flatten([1, [2, [3, [4]]]]); // [1, 2, [3, [4]]]

17. _.ratakanDeep

  • Meratakan tatasusunan bersarang menjadi tatasusunan peringkat tunggal sepenuhnya.
_.flattenDeep([1, [2, [3, [4]]]]); // [1, 2, 3, 4]

18. _.perbezaan

  • Mengembalikan nilai daripada tatasusunan pertama yang tiada dalam tatasusunan kedua.
const obj = { a: { b: { c: 42 } } }; _.get(obj, 'a.b.c', 'default'); // 42

19. _.ketul

  • Membahagikan tatasusunan kepada kumpulan dengan saiz yang ditentukan.
const obj = {}; _.set(obj, 'a.b.c', 42); console.log(obj); // { a: { b: { c: 42 } } }

20. _.sama

  • Melakukan perbandingan yang mendalam untuk menentukan sama ada dua nilai adalah setara.
const arr = [{ a: 1 }]; const deepClone = _.cloneDeep(arr);

Teruskan belajar dan bergembira!

Atas ialah kandungan terperinci Lodash - alat kuasa javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn