在 Lodash 中,要从数组中移除未定义的值,同时保留 0
和 null
,可以使用 _.compact
函数。但是需要注意,_.compact
会移除所有的假值(falsy values),包括 0
、false
、null
、""
(空字符串)、undefined
和 NaN
。
由于您希望保留 0
和 null
,我们可以使用 _.filter
函数结合一个适当的回调来实现这一需求。这样可以精确控制我们想要排除的具体值。以下是具体的实现代码:
javascriptimport _ from 'lodash'; const array = [0, 1, null, undefined, 2, false, '']; const result = _.filter(array, (value) => value !== undefined); console.log(result); // 输出: [0, 1, null, 2, false, '']
在这个例子中,我们使用 _.filter
来遍历数组,回调函数确保只有当元素不等于 undefined
时才保留在新数组中。这样,0
和 null
均被保留,而 undefined
被成功移除。注意,该方法不会移除其他假值如 false
和空字符串,如果也想移除这些值,可以进一步调整回调函数的逻辑。