gpt4 book ai didi

javascript - 删除数组递归调用模式中的项目?

转载 作者:行者123 更新时间:2023-11-30 12:04:21 25 4
gpt4 key购买 nike

在处理数组对象中的递归调用时,我将数组传递给函数并进行每次调用,我希望数组参数为 n-1。

我通常使用:

  • Array.prototype.shift
  • Array.prototype.pop

我必须在递归调用之前调用这些方法。检查下面的示例。

这是我通常采用的方法:

function responseData(urls){
if (urls.length-1){
return;
}
http.get(urls[0], function(res) {
res.setEncoding('utf8');
var body = '';
res.on('data', function(chunk) {
body += chunk;
});
res.on('end', function() {
console.log(body.toString());
urls.shift(); // NOTICE THIS LINE
printResponseData(urls);
});
});
}

是否有比这种方法更清洁的替代方法?

我能否消除使用返回值的 shiftpop 的方法,以最小化数组的大小并返回新缩小的数组,以便我可以传递它直接到我的递归调用?

最佳答案

您可以使用 slice method得到一个更小的数组。它不会改变原始参数,而是创建一个新参数。

要获取没有第一个元素的数组,使用

urls.slice(1)

要得到没有最后一个元素的数组,使用

urls.slice(0, -1)

关于javascript - 删除数组递归调用模式中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35638805/

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