接受多个数组作为参数的javascript映射函数
javascript map function accepting multiple array as arguments
如何编写这样的js函数?
map(add, [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12])
=> [15, 18, 21, 24]
我正在尝试编写clojure map
函数的本地js版本
(map + [1 2 3] [4 5 6])
=> [5 7 9]
其中map接受一个函数和该之后的任意数量的数组
类似的东西
pythonic_map = function(fun) {
var args = [].slice.call(arguments, 1)
return args[0].map(function(_, i) {
return fun.apply(null, args.map(function(x) { return x[i] }));
});
}
示例:
function add(a, b, c) {
return a + b + c
}
z = pythonic_map(add, [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12])
console.log(z) // [15,18,21,24]
这使用第一个参数的长度,使用最短/最长的参数:
pythonic_map = function(fun) {
var args = [].slice.call(arguments, 1);
return args.reduce(function(m, x) {
return (x.length < m.length) ? x : m; // or > for the longest
}).map(function(_, i) {
return fun.apply(null, args.map(function(x) { return x[i] }));
});
}
相关文章:
- 在url参数javascript中存储键值对列表
- 可选参数 JavaScript 技巧
- 如何计算参数 JavaScript 中的条件
- 未定义的变量作为函数参数 javascript
- 使用带有参数 Javascript 的函数更改全局变量
- 如何在参数JavaScript中更改对象属性
- 如何使用参数(javascript)调用Date构造函数
- 作为参数(javascript)传递的函数的系统唯一id
- Backbone.BabySiter内部参数-Javascript Scope
- 未定义函数参数-Javascript
- 谷歌地图api v3-IE7-main.js错误-无效参数(javascript)
- 通过onclick函数发送参数-Javascript
- 传递属于对象的匿名方法作为参数-Javascript
- 未捕获类型错误:没有足够的参数Javascript游戏
- 缺少)参数Javascript错误
- 在函数参数Javascript上使用toSentenceCase
- 跳过函数参数javascript
- 如何在调用不带括号的函数时传递参数 [Javascript]
- 如何传递多个参数javascript
- Foreach键和值输入参数javascript