为什么我不能使用 lodash 的 remove() 函数?

Why can't I use lodash's remove() function?

我正在使用 Laravel 5.5。我有 运行 npm installnpm run dev 并且通常我在 运行ning Javascript 有一个很好的工作环境,但我在尝试时被抓住了使用 lodash 的 remove() 函数从数组中删除一个元素。

var array = [1, 2, 3, 4];
var evens = _.remove(array, function(n) {
    return n % 2 == 0;
});

以上代码产生以下错误:

TypeError: _.remove is not a function

Lodash 已加载到 resources/assets/js/bootstrap.js

window._ = require('lodash');

其他 lodash 方法工作正常。

_.each([1, 2], function(n) {
    console.log(n);
});

知道为什么我不能使用 .remove() 吗?

问题是我也在使用 Laravel Spark。 Spark 不使用 resources/assets/js/bootstrap.js 而是在 vendor/laravel/spark/resources/assets/js/spark-bootstrap.js 加载自己的 bootstrap。

Spark 的 bootstrap 实际上需要 underscore package instead of lodash,因此造成混淆。

window._ = require('underscore');