- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
smallestInteger = (stack,numbers,k) => {
if (stack.length == 0){
stack.push(numbers[k]);
}
if (numbers[k] <= stack[stack.length-1]){
stack.pop();
stack.push(numbers[k]);
}
console.log(`stack is ${stack}`)
console.log("k:" + k);
return (k == 0) ? stack[stack.length-1] : smallestInteger(stack,numbers,k-1);
}
var smallestInteger = function(numbers) {
let stack = [];
let smallest = smallestInteger(stack ,numbers,numbers.length - 1);
return `the smallest integer is ${smallest}`;
}
var testCases = [[10,2,5,7,15,9], [1,2,3,4]];
for (let testCase of testCases){
console.log(smallestInteger(testCase));
}
运行 > node smallestInteger.js
给出了这个错误:
RangeError: Maximum call stack size exceeded
at smallestInteger (smallestInteger.js:17:31)
at smallestInteger (smallestInteger.js:19:17)
at smallestInteger (smallestInteger.js:19:17)
at smallestInteger (smallestInteger.js:19:17)
at smallestInteger (smallestInteger.js:19:17)
at smallestInteger (smallestInteger.js:19:17)
at smallestInteger (smallestInteger.js:19:17)
at smallestInteger (smallestInteger.js:19:17)
at smallestInteger (smallestInteger.js:19:17)
at smallestInteger (smallestInteger.js:19:17)
仅供引用,代码未到达 console.log 打印语句,我该如何解决?
这两个 smallestInteger
函数有不同的构造函数(第一个有 1 个参数,另一个有 3 个)就像覆盖一样,所以我不认为它们会相互替换。你在哪里看到它得到 2 个参数,它按预期得到 3 个参数。最后,smallestInteger
函数正在调用 smallestInteger
辅助函数,它在 ?
之后有一个退出条件,即 k == 0
所以它不应该永远持续下去。仍然出现同样的错误
最佳答案
Javascript 不允许重载函数。为此,您需要发挥创造力。例如:
function smallestInteger(stack,numbers,k){
if (arguments.length == 1) {
numbers = stack;
stack = [];
let smallest = smallestInteger(stack ,numbers,numbers.length - 1);
return `the smallest integer is ${smallest}`;
}
if (stack.length == 0){
stack.push(numbers[k]);
}
if (numbers[k] <= stack[stack.length-1]){
stack.pop();
stack.push(numbers[k]);
}
return (k == 0) ? stack[stack.length-1] : smallestInteger(stack,numbers,k-1);
}
var testCases = [[10,2,5,7,15,9], [1,2,3,4]];
for (let testCase of testCases){
console.log('testCase : ', testCase);
console.log(smallestInteger(testCase));
}
关于javascript - 超过最大调用堆栈 RangeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55174032/
我已经读了差不多有关此错误的文章,但是常见的答案是“使用FutureBuilder”或“使用isEmpty?”。我已经尝试了两种解决方案,但是仍然出现错误。提前致谢。 import 'package:
我想这意味着有一个循环引用,但是对于我的一生,我无法猜测如何解决它。 谁有想法? http://plnkr.co/edit/aNcBcU?p=preview 检查Chrome中的调试控制台(例如),您
我的 JS 代码运行得很好,直到我添加了以下函数: $(".meassure-combo").change(function() { switch ($(this).attr("name"))
我有 HTML: Upload 还有 jQuery/JavaScript: $('.js-uploader').click(function(){ $(this).fi
我正在尝试下载大型 json 数据。但它会导致Uncaught RangeError: Invalid string length。 请帮忙解决这个问题,先谢谢了。 这是 Jsfiddle:http:
smallestInteger = (stack,numbers,k) => { if (stack.length == 0){ stack.push(numbers[k]);
我在nodejs中使用sequelize和mysql。我正在尝试运行命令 npx sequelize db:create 但它给了我这个错误。不知道在这里做什么。任何帮助表示赞赏。谢谢你。 Seque
我收到以下错误 W20141210-18:14:54.394(5.5)? (STDERR) W20141210-18:14:54.395(5.5)? (STDERR) /Users/removed/.
我是 Meteor 的新手。我正在做简单的应用程序。这是我遇到的问题: Template.newFeedForm.events({ 'submit #new-feed-form'(event)
我是 Meteor 的新手。我正在做简单的应用程序。这是我遇到的问题: Template.newFeedForm.events({ 'submit #new-feed-form'(event)
我有一个更改事件,当选择框更改时会触发该事件。然而,选择框位于被替换的 div 内,因此会重新生成选择框。由于此错误可能是由于无限循环造成的,因此我猜测创建选择框时也必须触发我的触发事件。我尝试了很多
我有一个表格,我必须从中获取我的数据。我正在使用 ejs 模板。我的“/”路由呈现“主” View ,我有一个中间件来处理来自表单的数据,但它返回错误“RangeError:超出最大调用堆栈大小” 我
当运行以下代码时: (function recur() { recur() })() 出现以下错误 - Uncaught RangeError: Maximum call stack size
我有一个正在实现一些自定义验证的表单。这是在提交表单之前处理最终检查的 JavaScript block : $('.enquiry-form-container form').submit(func
为什么我收到RangeError:超出最大调用堆栈错误?我正在尝试解析文本以找到数学并解决它。它一直有效,直到我开始实现括号'。我试图找出错误,但就是无法弄清楚。 我的代码: var alg = {
我收到以下错误: RangeError: Maximum call stack size exceeded. 在这一行: requestAnimFrame(Game.loop()); 在这段代码中:
我在显示来自本地 json 的数据时收到 RangeError (index): Invalid value: Valid value range is empty: 0。我正在尝试使用 simple
我在构建 ListView 时遇到错误。在这个 flutter 应用程序中,我尝试在单击按钮时为每一列计算一些点。但我总是遇到同样的错误。 ══╡ EXCEPTION CAUGHT BY GESTUR
大家好!初学者在这里! 我用Socket.IO制作了一个小Node.JS应用程序,该应用程序运行良好,直到我决定将套接字代码放入对象中以允许 namespace 管理为止。我现在对此方法有疑问(我相信
未为用户设置图像时,出现以下错误: “未处理的异常:RangeError:值不在范围内:22” 摆好照片后,一切就正确了 我的代码: Future getData() async { fina
我是一名优秀的程序员,十分优秀!