gpt4 book ai didi

javascript - 使用 Map-Reduce 返回修改后的字符串数组

转载 作者:太空宇宙 更新时间:2023-11-04 15:44:02 25 4
gpt4 key购买 nike

我正在学习map和reduce,但是很难理解如何利用这些方法来解决问题。

例如,

创建一个函数,该函数接受一个数字并返回一个字符串数组,其中包含在每个数字处 chop 的数字。

420 应返回 ["4", "42", "420"]

我的旧方法:

function createArrayOfTiers(num) {
var numArr = num.toString().split('');
var output = [];
for(var i = numArr.length-1; i>=0; i--) {
output.unshift(numArr.join('');
numArr.pop();
}
return output;
}

尝试使用map-reduce组合:

function createArrayOfTiers(num) {
var numArr = num.toString().split('');
return numArr.map(function(element) {
var newElement = numArr.reduce(function(acc, val) {
return acc + val;
});
numArr.splice(element, 1);
return newElement;
});
}

最佳答案

您使用了两个循环,但显然只需一个循环即可完成。

function n(num) {
let res = (""+num).split('').map((_,i) => (""+num).slice(0, i+1));
return res;
}

console.log(n(420));
console.log(n(13579));

单行。

const n = num => (""+num).split('').map((_,i) => (""+num).slice(0, i+1));

console.log(n(420));
console.log(n(13579));

关于javascript - 使用 Map-Reduce 返回修改后的字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43682966/

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