gpt4 book ai didi

javascript - 运行此代码后,chrome 和 firefox 不断崩溃的原因是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:29:39 25 4
gpt4 key购买 nike

我正在尝试循环一个数组并使用回调函数来获得它在第一个回调中起作用的答案,第二次是错误和开发工具崩溃。

var years = [1987, 1964, 1937, 200, 1954];
arrTotal = [];

function arrayCalc(arr, fn) {
for (var i = 0; i < arr.length; i++) {
arrTotal.push(fn(arr[i]));
}
return arrRes;
}

function calculatAge(el) {
return 2019 - el;
}

function isFullAge(el) {
return el >= 18;
}

var ages = arrayCalc(years, calculatAge);

// Bottom callback is the problem but why?

var fullAges = arrayCalc(ages, isFullAge);
console.log(ages);

我知道这是第二个回调函数我只是不知道为什么我一天大部分时间都在谷歌上搜索答案。

最佳答案

您需要在arrayCalc 中声明和初始化arrTotal。然后返回这个数组。

function arrayCalc(arr, fn) {
var arrTotal = []; // declare and initialize with an empty array
for (var i = 0; i < arr.length; i++) {
arrTotal.push(fn(arr[i]));
}
return arrTotal; // return this array
}

function calculatAge(el) {
return 2019 - el;
}

function isFullAge(el) {
return el >= 18;
}

var years = [1987, 1964, 1937, 200, 1954],
ages = arrayCalc(years, calculatAge),
fullAges = arrayCalc(ages, isFullAge);

console.log(ages);

Array#map 稍微短一点.

const
arrayCalc = (array, fn) => array.map(fn),
calculatAge = el => 2019 - el,
isFullAge = el => el >= 18;

var years = [1987, 1964, 1937, 2010, 1954],
ages = arrayCalc(years, calculatAge),
fullAges = arrayCalc(ages, isFullAge);

console.log(...ages);
console.log(...fullAges);

关于javascript - 运行此代码后,chrome 和 firefox 不断崩溃的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55557112/

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