
获得徽章 15
- 获取当前年份前连续5年的方法
calculateAvailableYears() {
const currentYear = dayjs().year();
this.availableYears = Array.from(
{ length: 5 },
(_, index) => currentYear - index
);
}
输出 [2024, 2023, 2022, 2021, 2020]展开4点赞 - console.log(JSON.stringify(需要打印的数据, null, 2));
null 是可选参数,用于控制如何处理对象的属性值,通常用 null 表示不进行特殊处理。
2 是一个可选的参数,用于指定缩进空格的数量,使输出的 JSON 字符串更易读。
举例
var data = { "name": "John", "age": 30, "city": "New York" };
console.log(JSON.stringify(data, null, 2));
{
"name": "John",
"age": 30,
"city": "New York"
}展开赞过41 - #每天一个知识点# webpack修改基础配置文件
// Node.js的核心模块,专门用来处理文件路径
const path = require("path");
module.exports = {
// 入口
// 相对路径和绝对路径都行
entry: "./src/main.js",
// 输出
output: {
// path: 文件输出目录,必须是绝对路径
// path.resolve()方法返回一个绝对路径
// __dirname 当前文件的文件夹绝对路径
path: path.resolve(__dirname, "dist"),
// filename: 输出文件名
filename: "main.js",
},
// 加载器
module: {
rules: [],
},
// 插件
plugins: [],
// 模式
mode: "development", // 开发模式
};展开赞过评论1 - #每天一个知识点# 深拷贝
export const cloneDeep = function (obj) {
const hashArr = []
function fn(target) {
if (typeof target !== 'object' || target === null) return target
for (let i = 0; i < hashArr.length; i += 1) {
if (hashArr[i].target === target) {
return hashArr[i].result
}
}
const result = Array.isArray(target) ? [] : {}
hashArr.push({ target, result })
for (let i = 0; i < target.length; i += 1) {
result[i] = fn(target[i])
}
return result
}
return fn(obj)
}展开赞过评论2 - #每天一个知识点# package.json中模块的版本^2.0.0``~2.0.0等 (安装版本使用到@表示什么意思?npm install jquery@3.4.1)
指定了一个范围为大于等于1.1.0版本且小于2.2.0版本的jQuery。这个版本范围指定允许安装1.1.0以上但不包括2.2.0及以上的版本。它使用了比较运算符 >= 和 < 来定义版本的上下限。>=1.1.0 表示版本必须大于等于1.1.0。这包括1.1.0及其后续版本,例如1.1.1、1.2.0等。<2.2.0 表示版本必须小于2.2.0。这包括所有小于2.2.0的版本,例如2.1.0、2.1.9等。综合起来,这个版本范围允许安装满足条件的任何版本,如1.1.0、1.1.5、1.5.3等,但不包括2.0.0及以上的版本和2.2.0版本。当运行 npm install jquery@">=1.1.0 <2.2.0" 命令时,npm会根据这个版本范围从可用的版本中选择符合条件的最新版本,并将其安装到项目中。请注意,使用范围版本指定可以在package.json文件的dependencies或devDependencies字段中进行,以确保在其他开发者或生产环境中也能正确安装相同的依赖项。展开赞过评论1 - #每天一个知识点# 链式编程
链式编程通常与方法返回自身对象的方式结合使用。这意味着每个方法调用都返回一个对象,以便可以继续在该对象上调用其他方法。
const numbers = [1, 2, 3, 4, 5];
const result = numbers
.filter(num => num % 2 === 0) // 过滤出偶数
.map(num => num * 2) // 将偶数乘以2
.reduce((sum, num) => sum + num, 0); // 求和
console.log(result); // 输出:28
我们首先使用filter方法过滤出偶数,然后使用map方法将每个偶数乘以2,最后使用reduce方法求和。这些方法都被串联在一起,每个方法调用的结果又成为下一个方法调用的对象。
当使用链式编程时,每个方法的返回值通常是同一类型的对象,这样才能继续在其上调用其他方法。这种约定使得代码更具可读性和一致性。
如果某个方法不返回对象本身,而是返回一个不同类型的值(例如原始值或其他对象),后续的方法调用可能会导致错误。这是因为后续的方法调用期望在前一个方法返回的对象上进行操作,而不是在不兼容的值上进行操作。展开评论点赞