Node环境下Lodash shuffle方法无法打乱日期数组问题求助
问题解决:Lodash shuffle方法无法正常随机化日期数组
核心问题
你的代码里导入Lodash的方式错误——直接import shuffle from "lodash"会把整个Lodash对象赋值给shuffle变量,而非获取shuffle方法本身,导致调用时无法执行随机逻辑。
修复步骤
1. 修正导入语句
两种正确的导入方式可选:
- 按需导入(推荐,减少打包体积):
import { shuffle } from "lodash";
- 导入完整Lodash库,通过下划线调用方法:
import _ from "lodash"; // 调用时使用 _.shuffle(searchList)
2. 完整修复后的代码
import { shuffle } from "lodash"; async function runDates() { let searchList = []; for (let d = new Date('12/01/2022'); d <= new Date('12/31/2022'); d.setDate(d.getDate() + 1)) { searchList.push([d.toLocaleDateString('en-US',{month:'2-digit',day:'2-digit',year:'numeric'})]); } searchList = shuffle(searchList); console.log(searchList); } runDates();
额外验证点
- 确认项目已安装Lodash:未安装的话执行
npm install lodash或yarn add lodash - 日期数组生成逻辑正常,循环会正确生成2022年12月的所有日期字符串,每个元素为包含单个日期的数组
内容的提问来源于stack exchange,提问作者eng3
相关产品推荐
相关产品推荐

