如何检查传递给递归函数的参数是否是数组的元素?

时间:2016-01-29 22:42:18

标签: javascript arrays methods arguments parameter-passing

当传递给内部函数时,是否有一种方法可以派生参数的来源,只有传入的元素作为参数?

例如:

Array.prototype.forEach([1,2,3,4,5], function(item) {
  doSomething(item); // How to tell whether item was passed from an array?
};

谢谢!

2 个答案:

答案 0 :(得分:0)

没有。你只是得到了价值。它没有这样的信息。

答案 1 :(得分:0)

forEach回调有三个参数,currentValue(在你的例子中为item),正在处理的数组中当前项的索引以及数组本身:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

此外,您可以使用参数,例如

 if (string.IsNullOrWhiteSpace(heightInches.Text))
            {
                MessageBox.Show("Please Enter An Input For Inches.");

                return; 
            }

虽然我认为简单地使用额外的回调参数会更有效率吗?

最后,在判断项是否从数组“传递”方面,如果你使用的是Array的forEach,那么该项总是来自数组,除非我误解了你的问题?