Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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_Ecmascript 6 - Fatal编程技术网

什么是=>;用JavaScript是什么意思?(等于大于)

什么是=>;用JavaScript是什么意思?(等于大于),javascript,ecmascript-6,Javascript,Ecmascript 6,tl;dr:=>做什么 我刚刚解决了一个关于codewars的问题,在看了其他人对这个问题的共同反应后,我一直看到:=> 问题如下: 你有一束箭,但有些已经损坏了。箭筒包含带有可选范围信息的箭头(不同类型的目标位于不同的范围),因此每个项目都是一个箭头。 为了准备战斗,你需要确认你还剩下一些好的。下面是一个示例阵列,它是箭袋 anyArrows([ {range: 5}, {range: 10, damaged: true}, {damaged: true} ]) 如果箭袋中的箭头没有损坏

tl;dr:=>做什么

我刚刚解决了一个关于codewars的问题,在看了其他人对这个问题的共同反应后,我一直看到:
=>

问题如下:

你有一束箭,但有些已经损坏了。箭筒包含带有可选范围信息的箭头(不同类型的目标位于不同的范围),因此每个项目都是一个箭头。 为了准备战斗,你需要确认你还剩下一些好的。下面是一个示例阵列,它是箭袋

anyArrows([
{range: 5}, 
{range: 10, damaged: true}, 
{damaged: true}
])
如果箭袋中的箭头没有损坏状态,则表示它是新的

这是我看到的一个返回true或false的示例,取决于箭袋中是否有未损坏的箭头:

function anyArrows(arrows){
  return arrows.some(a => !a.damaged);
}
现在,这比我的代码短多了!我的更基本:

function anyArrows(arrows){
  for ( var i = 0 ; i < arrows.length ; i++ ){
    if ( arrows[i].damaged === false ) { return true; }
    else if (arrows[i].damaged === true) { return false; }
    else if (arrows[i].range === 0) { return false }
    else { return true; } 
  }
  if (arrows.length === 0) return false;
}
函数任意箭头(箭头){
对于(变量i=0;i

然而,问题是:
=>
在这种情况下和一般情况下做什么?

=>
是将箭头函数参数与主体分开的ES2015语法,例如
(params)=>{/*body*/}


ArrowFunction:ArrowParameters=>ConciseBody

?它是ES6中新的短函数语法。例如,
函数(x){return x.Id;}
变成
x=>x.Id
。它类似于C#中的lambda表达式。在我看来,这似乎是一个LINQ查询,基本上它们所做的是返回箭头,其中
a//是来自箭头的对象
is
!损坏
。看看这个