gpt4 book ai didi

JavaScript:使用公共(public)方法和私有(private)方法对数组求和

转载 作者:行者123 更新时间:2023-11-30 11:08:23 24 4
gpt4 key购买 nike

我正在尝试使用我将传递数组的公共(public)方法和一个将执行加法的私有(private)方法来添加数组的数字。公共(public)方法将使用私有(private)方法进行计算。

下面是我试过的

这段代码进行了加法运算,但我将同一个数组传递了两次,即在 publicMethodprivateMethod 中,它看起来是多余的。

let arr = [1, 2, 3, 4, 5, 6, 7];

function publicMethod(arr) {
//console.log(arr);
var total = 0;

function privateMethod(...numbers) {
console.log('inner');
for (const number of numbers) {
console.log('num', number);
total += number;
console.log('total', total);
}
return total;
}
return privateMethod(...arr);
}
// console.log(arr);
console.log(publicMethod(arr));
console.dir(publicMethod);

最佳答案

您不需要将相同的数组传递给 privateMethod,因为它会在初始化时从封闭的闭包中获取值。您只需要传递封闭闭包中未定义的任何其他变量

let arr = [1, 2, 3, 4, 5, 6, 7];

function publicMethod(arr) {
//console.log(arr);
var total = 0;

function privateMethod() {
console.log('inner');
for (const number of arr) {
console.log('num', number);
total += number;
console.log('total', total);
}
return total;
}
return privateMethod;
}
// console.log(arr);
console.log(publicMethod(arr)());
console.dir(publicMethod(arr));

关于JavaScript:使用公共(public)方法和私有(private)方法对数组求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54762275/

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