Javascript 用Map或Filter方法替换For循环
最近,我有一项任务要完成,任务如下: 编写一个获取两个参数的函数:Javascript 用Map或Filter方法替换For循环,javascript,Javascript,最近,我有一项任务要完成,任务如下: 编写一个获取两个参数的函数: 首先是一个非递减数数组 第二个是单个数字 函数的输出是一个布尔值。如果传递的数组中有两个 其和(+)等于第二个参数的元素。在所有其他情况下,输出为“假”。 所以我用For循环解决了这个问题: function checkSum(set, number) { for (let i = 0; i < set.length; i++) { for (let j = 1; j < set.le
- 首先是一个非递减数数组
- 第二个是单个数字
function checkSum(set, number) {
for (let i = 0; i < set.length; i++) {
for (let j = 1; j < set.length; j++) {
if ((set[i] + set[j]) === number) {
return true;
}
}
}
return false;
}
函数校验和(设置、编号){
for(设i=0;i
我只是好奇,有没有办法摆脱for循环,使用map或filter方法。您的算法似乎是错误的:它还计算了一个元素本身的和-除了第一个元素。 即
-返回校验和([1,5],10)
,但真值
-返回校验和([5100],10)
false
function checkSum(set, number){
return set.some((x,idx)=>set.find((y,idx2)=>idx!==idx2&&x+y===number));
}
函数校验和(设置、编号){
返回set.some((x,idx)=>set.find((y,idx2)=>idx!==idx2&&x+y==number));
}
日志(校验和([2,2,3],5))代码>是。你看过.map()
和.filter()
的文档了吗?当然!我只是不知道如何使用Map或Filter检查所有数组成员的摘要。谢谢大家的关注。我会解决的。