function generateQuestion() {
let result = 0;
const operators = ['+', '-'];
let question = '';
numbers='+4 -3 +1';////////////////////////这里的数是动态的,不是固定的,也有可以有是别的数字和符号,也有可能不止3个数
for (let i = 0; i < 3; i++) {//
let number, operator;
/////////////////////这里怎么让numbers字符串里的数字和符号分别显示,也就是先显示4,再显示-3,最后显示+1/////////////////////////
setTimeout(() => {
displayQuestion(number,'','');
}
}, (i + 1) * shijian*1000);//间隔时间*1000
result += operator === '+' ? number : -number;
question += (i > 0 ? ' ' : '') + operator + number;
}
questions.push({ question: question, answer: result });
}
这里怎么让numbers字符串里的数字和符号分别显示,也就是先显示4,再显示-3,最后显示+1
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
要解决这个问题,首先需要从
numbers
字符串中解析出单独的数字和运算符,并且按照它们在字符串中的顺序依次处理。下面是一个修改后的函数,它将解析numbers
字符串并按顺序显示每个数字和运算符。function generateQuestion() { let result = 0; const operators = ['+', '-']; let question = ''; let numbers = '+4 -3 +1'; // 假设这是动态生成的字符串 // 将字符串按空格分割成数组 let parts = numbers.split(' '); // 遍历数组,处理每个数字和运算符 for (let i = 0; i < parts.length; i++) { let part = parts[i]; // 确定当前部分是数字还是运算符 let isNumber = !isNaN(part); let number, operator; if (isNumber) { number = parseInt(part, 10); // 如果不是第一个数字,则获取前一个元素作为运算符 if (i > 0) { operator = parts[i - 1]; } } else { operator = part; } // 每隔一定时间显示数字和运算符 setTimeout(() => { // 注意:displayQuestion函数需要你自己定义 displayQuestion(number, operator, ''); }, (i + 1) * shijian * 1000); // 更新结果和问题字符串 if (i > 0 && isNumber) { result += operator === '+' ? number : -number; question += ' ' + operator + number; } } // 添加第一个数字到问题字符串 question = parts[0] + question; // 存储问题和答案 questions.push({ question: question, answer: result }); }
在这个解决方案中,
numbers
字符串被首先分割成多个部分,然后遍历这些部分。对于每个部分,检查它是否为数字。如果是数字,则将其转换为整数类型,并尝试从前一个部分获取运算符(如果存在)。然后,使用setTimeout
函数来按顺序显示每个数字和运算符。注意:
displayQuestion
函数需要你自己定义,它应该接受三个参数:数字、运算符和任何其他可能需要的信息。同样地,shijian
和questions
也需要在函数外部定义或传入。这个示例假设shijian
是表示延迟时间的变量,而questions
是一个用于存储问题和答案的数组。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 vue请求不到数据,返回状态200,数据为html
- ¥15 访问url时不会自动调用其 Servlet的doGet()
- ¥15 用白鹭引擎开发棋牌游戏的前端为什么这么难找
- ¥15 MATLAB解决问题
- ¥35 哪位专业人士知道这是什么原件吗?哪里可以买到?
- ¥15 关于#c##的问题:treenode反序列化后获取不到上一节点和下一节点,Fullpath和Handle报错
- ¥15 一部手机能否同时用不同的app进入不同的直播间?
- ¥20 输入import torch显示Intel MKL FATAL ERROR,系统驱动1%,: Cannot load mkl_intel_thread.dll.
- ¥15 点云密度大则包围盒小
- ¥15 nginx使用nfs进行服务器的数据共享