Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.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 使用带有两个输入的arrow函数调用Array.prototype.map()的目的是什么?_Javascript_Reactjs - Fatal编程技术网

Javascript 使用带有两个输入的arrow函数调用Array.prototype.map()的目的是什么?

Javascript 使用带有两个输入的arrow函数调用Array.prototype.map()的目的是什么?,javascript,reactjs,Javascript,Reactjs,我正在学习关于React.js的教程,在这里我看到了React.Component的render方法中的以下代码片段: const moves = history.map((step, move) => { const desc = move ? 'Go to move #' + move : 'Go to game start'; return ( <li> <button onClick={() => this.jum

我正在学习关于React.js的教程,在这里我看到了
React.Component
render
方法中的以下代码片段:

const moves = history.map((step, move) => {
  const desc = move ?
    'Go to move #' + move :
    'Go to game start';
  return (
    <li>
      <button onClick={() => this.jumpTo(move)}>{desc}</button>
    </li>
  );
});

我不明白的是为什么
history.map
中的箭头函数有两个输入,
step
move
。在
map
的文档中,我只看到带有一个输入的箭头函数的示例(即所讨论的数组元素)。我也没有看到在arrow方法主体中的任何地方使用
步骤
输入,因此我不确定它的用途。有人能解释一下吗?

在这个例子中,移动是每个步骤的索引。使用此索引,您可以在历史记录中找到指定的步骤。

在本例中,移动是每个步骤的索引。使用此索引,您可以在历史记录中找到指定的步骤。

对于数组中的每个项目,他们都在创建某种类型的React组件

他们如何使用第二个参数(数组索引)作为条件运算符
的布尔计算条件:

因此,因为唯一的“错误”数字是
0
(而不是
NaN
),当索引是
0
(第一次迭代)时,
desc
将是
“转到游戏开始”
,否则它是带有位置的另一条消息

下面是一个简化的无反应演示:

const history=[“这些”、“值”、“是”、“忽略了”];
常量移动=历史。映射((步骤,移动)=>{
const desc=移动?
“转到移动”#+移动:
“进入游戏开始”;
返回描述;
});

控制台日志(移动)对于数组中的每一项,他们都在创建某种类型的React组件

他们如何使用第二个参数(数组索引)作为条件运算符
的布尔计算条件:

因此,因为唯一的“错误”数字是
0
(而不是
NaN
),当索引是
0
(第一次迭代)时,
desc
将是
“转到游戏开始”
,否则它是带有位置的另一条消息

下面是一个简化的无反应演示:

const history=[“这些”、“值”、“是”、“忽略了”];
常量移动=历史。映射((步骤,移动)=>{
const desc=移动?
“转到移动”#+移动:
“进入游戏开始”;
返回描述;
});

控制台日志(移动)
映射中的第二个参数是索引。这可能有助于您在
历史记录中导航

让历史记录=[
{
正方形:[
空,空,空,
空,空,空,
空,空,空,
]
},
{
正方形:[
空,空,空,
空,'X',空,
空,空,空,
]
}
]

history.map((step,move)=>console.log(“step:,step,“\nindex(move:”,move))
map
中的第二个参数是索引。这可能有助于您在
历史记录中导航

让历史记录=[
{
正方形:[
空,空,空,
空,空,空,
空,空,空,
]
},
{
正方形:[
空,空,空,
空,'X',空,
空,空,空,
]
}
]
history.map((step,move)=>console.log(“step:,step,“\nindex(move:”,move))
查看该文档中的“参数”部分。回调可以接受3个参数:currentValue、index和array<代码>步骤
是当前值,
移动
是索引。请查看该文档中的“参数”部分。回调可以接受3个参数:currentValue、index和array<代码>步骤
是当前值,
移动
是索引。
history = [
  {
    squares: [
      null, null, null,
      null, null, null,
      null, null, null,
    ]
  },
  {
    squares: [
      null, null, null,
      null, 'X', null,
      null, null, null,
    ]
  },
  // ...
]