You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
405 B
20 lines
405 B
'use strict'; |
|
|
|
module.exports = function omitUndefined(val) { |
|
if (val == null || typeof val !== 'object') { |
|
return val; |
|
} |
|
if (Array.isArray(val)) { |
|
for (let i = val.length - 1; i >= 0; --i) { |
|
if (val[i] === undefined) { |
|
val.splice(i, 1); |
|
} |
|
} |
|
} |
|
for (const key of Object.keys(val)) { |
|
if (val[key] === void 0) { |
|
delete val[key]; |
|
} |
|
} |
|
return val; |
|
};
|
|
|