久久综合九色综合97婷婷-美女视频黄频a免费-精品日本一区二区三区在线观看-日韩中文无码有码免费视频-亚洲中文字幕无码专区-扒开双腿疯狂进出爽爽爽动态照片-国产乱理伦片在线观看夜-高清极品美女毛茸茸-欧美寡妇性猛交XXX-国产亚洲精品99在线播放-日韩美女毛片又爽又大毛片,99久久久无码国产精品9,国产成a人片在线观看视频下载,欧美疯狂xxxx吞精视频

有趣生活

當前位置:首頁>生活>JavaScript lodash的常見用法

JavaScript lodash的常見用法

發布時間:2025-10-28閱讀(2)

Lodash是一個JavaScript的實用工具庫,提供了很多常用的函數和工具,可以幫助我們更方便地操作數據和處理邏輯。本文將詳細介紹Lodash的常見用法,包括對象操作、數組操作、函數操作和其他常用操作等方面。

一、對象操作

1. _.get(object, path, [defaultValue]):獲取對象中指定路徑的值,如果路徑不存在則返回默認值。

示例:

const user = {

name: 'John',

address: {

city: 'New York',

street: '123 Main St'

}

};

_.get(user, 'address.city'); // 'New York'

_.get(user, 'address.zip', 'N/A'); // 'N/A'

2. _.set(object, path, value):設置對象中指定路徑的值。

示例:

const user = {

name: 'John',

address: {

city: 'New York',

street: '123 Main St'

}

};

_.set(user, 'address.city', 'Los Angeles');

console.log(user.address.city); // 'Los Angeles'

3. _.has(object, path):判斷對象中是否存在指定路徑的值。

示例:

const user = {

name: 'John',

address: {

city: 'New York',

street: '123 Main St'

}

};

_.has(user, 'address.city'); // true

_.has(user, 'address.zip'); // false

4. _.keys(object):獲取對象中所有的鍵名。

示例:

const user = {

name: 'John',

age: 30,

address: {

city: 'New York',

street: '123 Main St'

}

};

_.keys(user); // ['name', 'age', 'address']

5. _.values(object):獲取對象中所有的鍵值。

示例:

const user = {

name: 'John',

age: 30,

address: {

city: 'New York',

street: '123 Main St'

}

};

_.values(user); // ['John', 30, {city: 'New York', street: '123 Main St'}]

二、數組操作

1. _.chunk(array, size):將數組按照指定大小分塊。

示例:

const arr = [1, 2, 3, 4, 5, 6];

_.chunk(arr, 2); // [[1, 2], [3, 4], [5, 6]]

_.chunk(arr, 3); // [[1, 2, 3], [4, 5, 6]]

2. _.compact(array):去除數組中的假值,包括false、null、0、''、undefined和NaN。

示例:

const arr = [1, 0, false, '', null, undefined, NaN];

_.compact(arr); // [1]

3. _.difference(array, [values]):返回數組中不包含在指定數組中的元素。

示例:

const arr1 = [1, 2, 3, 4, 5];

const arr2 = [2, 4, 6];

_.difference(arr1, arr2); // [1, 3, 5]

4. _.drop(array, [n=1]):返回去除數組中前n個元素后的剩余元素。

示例:

const arr = [1, 2, 3, 4, 5];

_.drop(arr); // [2, 3, 4, 5]

_.drop(arr, 2); // [3, 4, 5]

5. _.take(array, [n=1]):返回數組中前n個元素。

示例:

const arr = [1, 2, 3, 4, 5];

_.take(arr); // [1]

_.take(arr, 3); // [1, 2, 3]

三、函數操作

1. _.debounce(func, [wait=0], [options={}]):創建一個函數,該函數在指定時間間隔內只執行一次。

示例:

const debouncedFn = _.debounce(() => {

console.log('Debounced function called');

}, 1000);

debouncedFn(); // 調用后1秒才執行

2. _.throttle(func, [wait=0], [options={}]):創建一個函數,該函數在指定時間間隔內最多執行一次。

示例:

const throttledFn = _.throttle(() => {

console.log('Throttled function called');

}, 1000);

throttledFn(); // 調用后立即執行

setTimeout(() => {

throttledFn(); // 1秒后執行

}, 1000);

3. _.memoize(func, [resolver]):創建一個函數,該函數緩存計算結果,避免重復計算。

示例:

const fibonacci = _.memoize((n) => {

if (n < 2) {

return n;

}

return fibonacci(n - 1) fibonacci(n - 2);

});

console.log(fibonacci(10)); // 55

console.log(fibonacci(10)); // 直接返回緩存的結果

四、其他常用操作

1. _.clone(value):復制一個值。

示例:

const obj = {name: 'John'};

const clonedObj = _.clone(obj);

console.log(clonedObj); // {name: 'John'}

2. _.isEqual(value, other):判斷兩個值是否相等。

示例:

const obj1 = {name: 'John'};

const obj2 = {name: 'John'};

_.isEqual(obj1, obj2); // true

3. _.isEmpty(value):判斷一個值是否為空。

示例:

_.isEmpty(null); // true

_.isEmpty(undefined); // true

_.isEmpty(''); // true

_.isEmpty([]); // true

_.isEmpty({}); // true

4. _.omit(object, [paths]):返回對象中除了指定鍵之外的所有鍵值對。

示例:

const obj = {name: 'John', age: 30, address: '123 Main St'};

_.omit(obj, ['address']); // {name: 'John', age: 30}

5. _.pick(object, [paths]):返回對象中指定鍵的鍵值對。

示例:

6. _.random([lower=0], [upper=1], [floating]):返回指定范圍內的隨機數。

示例:

_.random(1, 10); // 生成1到10之間的整數

_.random(1.5, 10.5, true); // 生成1.5到10.5之間的浮點數

7. _.template(string, [options={}]):編譯一個模板字符串,返回一個函數,該函數可以根據傳入的數據生成最終的字符串。

示例:

const compiled = _.template('Hello <%= name %>!');

console.log(compiled({name: 'John'})); // 'Hello John!'

8. _.truncate(string, [options={}]):截取字符串,如果超過指定長度,則用...代替。

示例:

const str = 'The quick brown fox jumps over the lazy dog';

_.truncate(str, {length: 20}); // 'The quick brown fox...'

_.truncate(str, {length: 20, omission: ' (...continued)'}); // 'The quick brown fox (...continued)'

9. _.uniqueId([prefix='']):生成唯一的ID。

示例:

_.uniqueId('user_'); // 'user_1'

_.uniqueId('user_'); // 'user_2'

10. _.zip([arrays]):將多個數組合并成一個數組,每個元素為原數組中相同位置的元素組成的數組。

示例:

const arr1 = [1, 2, 3];

const arr2 = ['a', 'b', 'c'];

_.zip(arr1, arr2); // [[1, 'a'], [2, 'b'], [3, 'c']]

總結

Lodash是一個非常實用的JavaScript工具庫,提供了很多常用的函數和工具,可以大大提高開發效率。本文介紹了Lodash的常見用法,包括對象操作、數組操作、函數操作和其他常用操作等方面,希望對大家有所幫助。

相關文章

    Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖