如何检查传递到递归函数的参数是否是数组的元素
How to check whether an argument passed into a recursive function is an element of an array?
当参数传递到内部函数中时,有没有办法派生参数的来源,只有元素作为参数传入?
例如:
Array.prototype.forEach([1,2,3,4,5], function(item) {
doSomething(item); // How to tell whether item was passed from an array?
};
谢谢!
No.你得到的只是价值。它没有这样的信息。
for每个回调有三个参数,currentValue(在你的例子中是项目),正在处理的数组中当前项目的索引,以及数组本身:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
此外,您可以使用参数,例如
[1, 2, 3, 4, 5].forEach(function(item) { console.log(item, arguments); });
虽然我认为简单地使用额外的回调参数会更有效?
最后,在判断项目是否从数组"传递"方面,如果您使用的是 Array 的 forEach,那么该项目将始终来自数组,除非我误解了您的问题?
相关文章:
- 递归函数中断
- 将jQuery对象传递到setTimeout递归函数中
- 对象与递归函数的比较
- 循环内部的递归函数未按预期工作
- 递归函数返回不正确
- 递归函数编程困境
- 给定一个带有数字的数组,我如何编写一个递归函数,当 2 个元素加起来为一个目标时,它会在数组中查找索引
- 返回不会退出 javascript 中的递归函数
- jquery递归函数转换为非递归函数
- AngularJS,promise带有递归函数
- 如何停止此递归函数
- 如何检查传递到递归函数的参数是否是数组的元素
- 将参数传递给递归函数javaScript
- setTimeout和带参数的递归函数
- 递归函数中的参数串联
- bind函数递归传递参数失败
- 使用Javascript的具有两个参数的非递归函数
- 理解递归函数的解构参数
- JS将数组作为参数传递给递归函数
- 递归函数(插件?)与不断变化的参数,直到达到数(jQuery)