首页 > 解决方案 > 与外部函数声明参数同名的函数表达式参数

问题描述

我想手动创建下面的函数,我希望函数和内部都有一个同名的参数foreach。该片段有效,但是

有没有办法通过设置elem < this.elem而不是elem < arguments [0],或者在没有引用外部的elem情况下工作arguments[0]

function anyElemMinorThan(elem, arr) {
  let found = false;
  arr.forEach(elem => {
   if (elem < arguments[0]) found=true;
  });
  return found;
}

标签: javascript

解决方案


1)可能不是,在这种情况下,越短越好(因为它性能更高+可读性更强):

  const anyElemMinorThan = (elem, arr) =>
     arr.some(val => val < elem);

或者如果您更喜欢命令式风格:

  function anyElemMinorThan(elem, arr) {
   for(const val of arr)
     if(val < elem)
       return true;
    return false;
  }

2) 只是将其中一个elem变量重命名为其他名称?


推荐阅读