gpt4 book ai didi

javascript - 下划线或lazy.js 映射 (0,1,2,3,4) + (1,2,3,4,5) ->(1,3,5,7,9)

转载 作者:行者123 更新时间:2023-12-03 12:20:29 24 4
gpt4 key购买 nike

我想将一个序列映射到另一个序列,例如

map (0,1,2,3,4) + (1,2,3,4,5) -> (1,3,5,7,9)

如何在 lazy.js 中做到这一点或underscore

谢谢!

最佳答案

您可以使用_.zip_.map,如下所示

var _ = require("underscore");

function sum(numbers) {
var result = 0;
for (var i = 0; i < numbers.length; i += 1) {
result += numbers[i];
}
return result;
}

console.log(_.map(_.zip([0, 1, 2, 3, 4], [1, 2, 3, 4, 5]), sum))
// [ 1, 3, 5, 7, 9 ]

由于总是只有两个数字,因此您可以像这样简化

var result = _.chain([0, 1, 2, 3, 4])
.zip([1, 2, 3, 4, 5])
.map(function(numbers) {
return numbers[0] + numbers[1];
})
.value();

console.log(result);

你可以让它更通用和干净一点,就像这样

function sum(numbers) {
return numbers.reduce(function(result, current) {
return result + current;
}, 0);
}

var result = _.chain([0, 1, 2, 3, 4])
.zip([1, 2, 3, 4, 5])
.map(sum)
.value();

或者更简单,就像第一个答案

console.log(_.map(_.zip([0, 1, 2, 3, 4], [1, 2, 3, 4, 5]), sum));

关于javascript - 下划线或lazy.js 映射 (0,1,2,3,4) + (1,2,3,4,5) ->(1,3,5,7,9),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24463866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com