diff --git a/package.json b/package.json index 6ba57fd..57fbe78 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@haina/npm", - "version": "0.1.1", + "version": "0.1.2", "main": "./build/cjs/index.js", "module": "./build/esm/index.js", "exports": { diff --git a/src/utils/commons.js b/src/utils/commons.js index e8f987f..9f4c6b2 100644 --- a/src/utils/commons.js +++ b/src/utils/commons.js @@ -642,13 +642,18 @@ export const numberFormatter = (number) => { }; /** + * @param {string[] | string} keyArr * @example * const obj = { a: { b: 'c' } }; * const keyArr = ['a', 'b']; * getNestedValue(obj, keyArr); // Returns: 'c' */ export const getNestedValue = (obj, keyArr) => { - return keyArr.reduce((acc, curr) => { + let _keyArr = structuredClone(keyArr); + if (!Array.isArray(_keyArr)) { + _keyArr = [_keyArr]; + } + return _keyArr.reduce((acc, curr) => { return acc && Object.prototype.hasOwnProperty.call(acc, curr) ? acc[curr] : undefined; // return acc && acc[curr]; }, obj);