如何在JavaScript中合併兩個物件

了解如何將兩個JavaScript物件合併並創建一個結合屬性的新物件。 2015年的ES6引入了展開運算符,這是將兩個簡單物件合併為一個的完美方式: const object1 = { name: 'Flavio' } const object2 = { age: 35 } const object3 = {...object1, ...object2 } 如果兩個物件都具有相同名稱的屬性,則第二個物件的屬性將覆蓋第一個。 在這種情況下,最好的解決方案是使用Lodash和其merge()方法,該方法將執行深層合併,遞歸合併物件屬性和數組。 在Lodash文檔中查看它的文檔。

如何在JavaScript中扁平化數組

實用指南:如何在JavaScript中扁平化數組 ES2019在Array原型中引入了兩個新方法:flat和flatMap。它們對於我們想要的操作——將數組扁平化非常有用。 讓我們看看它們是如何工作的。 但首先,提醒一下:只有Firefox 62+、Chrome 69+、Edge 76+和Safari 12+已經支持這兩個方法,因為它們是比較新的。請查看當前瀏覽器支持情況,並記住,如果你需要支持較舊的瀏覽器,可以使用Babel將你的代碼回退到之前的ES版本。 如果你不想使用Babel,而且你還沒有構建步驟,你可以使用Lodash提供的flatten()、flattenDeep()和flattenDepth()函數,這可能更有意義。 Lodash的一個很酷的功能是你無需導入整個庫,你可以使用這些包來單獨使用這些函數: lodash.flatten lodash.flattendeep lodash.flattendepth 下面是使用lodash.flatten扁平化數組的方法: const flatten = require('lodash.flatten') const animals = ['Dog', ['Sheep', 'Wolf']] flatten(animals) //['Dog', 'Sheep', 'Wolf'] 現在讓我們來討論原生的flat()和flatMap() JavaScript方法。 flat()是一個新的數組實例方法,它可以從多維數組中創建一個一維數組。 例如: ['Dog', ['Sheep', 'Wolf']].flat() //[ 'Dog', 'Sheep', 'Wolf' ] 默認情況下,它只能“扁平化”一層。 你可以向flat()添加參數來設置要將數組扁平化到的層級。 將其設置為Infinity可以無限層級扁平化: ['Dog', ['Sheep', ['Wolf']]].flat() //[ 'Dog', 'Sheep', [ 'Wolf' ] ] ['Dog', ['Sheep', ['Wolf']]].flat(2) //[ 'Dog', 'Sheep', 'Wolf' ] ['Dog', ['Sheep', ['Wolf']]].flat(Infinity) //[ 'Dog', 'Sheep', 'Wolf' ] 如果你熟悉JavaScript數組的map()方法,你就知道可以使用它對數組的每個元素執行一個函數。...

如何在JavaScript中檢查對象是否為空

了解如何檢查變量是否等於空對象 假設你想要檢查一個變量是否等於空對象,可以使用對象字面語法創建空對象: const emptyObject = {} 你要如何做到呢? 使用Object.entries()函數。 它會返回一個包含對象可枚舉屬性的數組。 使用方式如下: Object.entries(objectToCheck) 如果返回一個空數組,則表示該對象沒有任何可枚舉屬性,從而意味著它是空的。 Object.entries(objectToCheck).length === 0 同時,你還應該確保該對象真正是一個對象,通過檢查它的構造函數是否為Object: objectToCheck.constructor === Object 一個常用的庫Lodash可以簡化這個過程,提供了isEmpty()函數: _.isEmpty(objectToCheck)