Javascript 纯函数中的数组扩散算子
在Redux教程中,他们经常使用数组扩展运算符来编写约简(必须是纯函数)。完成以下脚本Javascript 纯函数中的数组扩散算子,javascript,redux,pure-function,Javascript,Redux,Pure Function,在Redux教程中,他们经常使用数组扩展运算符来编写约简(必须是纯函数)。完成以下脚本 let a = { b : "ddff", c : "adxas" } let c = { b : "ssdds", c : "asdxasdsad" } let d = []; d.push(a); d.push(c); console.log(d); const pureFunc = (arr,b,c) => { return [...arr, { b , c}]; }
let a = {
b : "ddff",
c : "adxas"
}
let c = {
b : "ssdds",
c : "asdxasdsad"
}
let d = [];
d.push(a);
d.push(c);
console.log(d);
const pureFunc = (arr,b,c) => {
return [...arr, { b , c}];
}
let n = pureFunc(d,"daaaa","sdadad");
console.log(n);
d[0].b = "Hello";
console.log(n)
函数“pureFunc”是一个适当的纯函数。数组d上的突变反映在对象n中。是的,
pureFunc
是纯的。突变不会发生在pureFunc
中
最常见和最基本的纯函数之一是标识函数:
let identity=x=>x代码>
因此,如果我们传递一个对象,我们将得到相同的对象。我们可以在事后修改它,但这并不意味着identity
不纯,因为identity
没有进行突变
基本上,纯函数只需要满足两个要求:
如果输入相同,它们总是产生相同的输出
它们不会引起副作用
是的,pureFunc
是纯的。突变不会发生在pureFunc
中
最常见和最基本的纯函数之一是标识函数:
let identity=x=>x代码>
因此,如果我们传递一个对象,我们将得到相同的对象。我们可以在事后修改它,但这并不意味着identity
不纯,因为identity
没有进行突变
基本上,纯函数只需要满足两个要求:
如果输入相同,它们总是产生相同的输出
它们不会引起副作用
我不确定你的问题到底是什么。