Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 纯函数中的数组扩散算子_Javascript_Redux_Pure Function - Fatal编程技术网

Javascript 纯函数中的数组扩散算子

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}]; }

在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 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
    没有进行突变

    基本上,纯函数只需要满足两个要求:

  • 如果输入相同,它们总是产生相同的输出
  • 它们不会引起副作用

  • 我不确定你的问题到底是什么。