📜  math.random 和 clone - Javascript (1)

📅  最后修改于: 2023-12-03 14:44:10.559000             🧑  作者: Mango

Math.random 和 Clone - JavaScript

在 JavaScript 中,Math.random() 方法可以用来生成一个 0 到 1 之间的随机数。它的返回值是一个伪随机数,即它不是真正的随机数,但是对于大多数应用来说都足够了。

Math.random()

可以用以下代码来生成 0 到 1 之间的随机数:

const randomNum = Math.random(); // 生成一个随机数
console.log(randomNum); // 输出随机数

如果要生成一个在指定范围内的随机数,可以使用以下公式:

const randomNumInRange = min + Math.random() * (max - min);

这个公式会生成一个在 minmax 之间的随机数,包括 minmax

Clone

在 JavaScript 中,可以使用 Object.assign() 或者 ... 扩展运算符来实现对象的浅克隆。

const obj = { a: 1, b: { c: 2 } }; // 原始对象
const cloneObj = Object.assign({}, obj); // 使用 Object.assign() 克隆对象
const cloneObj2 = { ...obj }; // 使用 ... 扩展运算符克隆对象

console.log(cloneObj); // 输出克隆对象
console.log(cloneObj2); // 输出克隆对象

需要注意的是,如果对象中有嵌套对象,克隆出来的对象中嵌套对象的引用仍然指向原始对象,因此是浅克隆。如果需要实现深克隆,可以使用第三方库,比如 lodash

const obj = { a: 1, b: { c: 2 } }; // 原始对象
const cloneObj = _.cloneDeep(obj); // 使用 lodash 库的 _.cloneDeep() 方法实现深克隆

console.log(cloneObj); // 输出克隆对象

总结一下,Math.random() 可以用来生成随机数,而对象的浅克隆可以使用 Object.assign() 或者 ... 扩展运算符,深克隆可以使用第三方库,比如 lodash_.cloneDeep() 方法。