在 Lodash 中,要从数组中移除未定义的值,同时保留 0 和 null,可以使用 _.compact 函数。但是需要注意,_.compact 会移除所有的假值(falsy values),包括 0、false、null、""(空字符串)、undefined 和 NaN。
由于您希望保留 0 和 null,我们可以使用 _.filter 函数结合一个适当的回调来实现这一需求。这样可以精确控制我们想要排除的具体值。以下是具体的实现代码:
import _ 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 和空字符串,如果也想移除这些值,可以进一步调整回调函数的逻辑。
