javascript - 我需要指导来解决我的 JavaScript 问题
问题描述
创建一个名为“bigOrSmall”的函数,该函数接受一个参数“arr”,该参数将是一个数字数组。在 bigOrSmall 函数内部,创建一个名为“answers”的新数组。然后,遍历传入的 arr 参数,并检查数组中的数字是否大于 100。如果是,将“big”作为字符串推送到 answers 数组。如果数字小于或等于 100,则将“small”作为字符串推送到 answers 数组。返回函数内部的答案数组。
这就是我到目前为止所拥有的。
function bigOrSmall(answers) {
for(let i = 0; i > 100; i++) {
return answers('big')
if(let i = 0; i <= 100; i++) {
return answers('small')
}
answers(arr[i])
}
return answers,
}
显然我知道我做的不对,因为它没有通过测试,但我想知道我是否走在正确的轨道上并获得一些提示以使我进入正确的方向。
解决方案
在循环内部,您使用return
which 在第一次迭代中终止函数。
你可以重构你的代码如下:
function bigOrSmall(arr) {
const answers = [];
for(let i = 0; i < arr.length; i++) {
if (arr[i] <= 100) {
answers.push('small');
} else {
answers.push('big');
}
}
return answers
}
console.log(bigOrSmall([0, 105, 100]))
或者你可以用Array.map()
它来制作单线
const mapped = [0,105,100].map(item => item <= 100 ? 'small' : 'big')
console.log(mapped)
推荐阅读
- regexp-like - ORACLE DB 中的 REGEXP_LIKE 查询
- vba - 在 UFT 中拆分单元格
- android - Android C++:加载的共享库中未捕获的异常
- excel - 运行 VBA 脚本后“重置”集合
- javascript - How to communcation between web inside webview back to react native apps
- asp.net - ASP.NET Upload file control and showing wait message
- scala - fs2.Stream observeAsync 不会异步执行给定的接收器
- c++ - 从具有派生类作为参数的模板类继承
- puppeteer - 如何使用 puppeteer 为 whatsapp 创建爬网?
- sap-cloud-platform - 如何访问 SAP Cloud 集成工具?