如何解决我需要指导来解决我的JavaScript问题
创建一个名为“ bigOrSmall”的函数,该函数带有一个参数“ arr”,该参数将是一个数字数组。在bigOrSmall函数内部,创建一个名为“答案”的新数组。然后,遍历传入的arr参数,并检查数组中的数字是否大于100。如果是,则将“ big”作为字符串推入Answers数组。如果数字小于或等于100,则将“ small”作为字符串推入答案数组。返回函数内部的答案数组。
这是我到目前为止所拥有的。
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
在第一次迭代中终止函数。
您可以按以下方式重构代码:
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,100].map(item => item <= 100 ? 'small' : 'big')
console.log(mapped)
,
我真的很抱歉这么说,但是,您所做的几乎所有事情都是错误的。现在,跟随我到下面给出的代码的结尾。它可以帮助您了解操作方法(请仔细阅读评论):
// defining function bigOrSmall which take parameter 'arr'
function bigOrSmall(arr) { // notice: `arr`
let answers = []; // declare `answers` array
for(let i = 0; i < arr.length; i++) { // iterate over `arr` array using index
if(arr[i] > 100) { // if i_th index of `arr` array is greater than 100
answers.push('big'); // then,push `big`
} else { // otherwise
answers.push('small'); // push small
}
}
return answers; // at last return `answers` array
}
let someIntegers = [1,2,300,40,229,100]; // declare some input
let ans = bigOrSmall(someIntegers); // pass `someIntegers` in `bigOrSmall` function and capture the returned `answers` array into `ans` variable
// note: `someIntegers` is going to be passed as `arr` inside `bigOrSmall` function
console.log(ans); // print the returned answer
程序的输出为:
[ 'small','small','big','small' ]
,
function bigOrSmall(arr) {
const answer = =[]
for(let i = 0; i < arr.length; i++) {
if (arr[i] <= 100) {
answer.push('small)
} else {
answer.push('big')
}
return answers,}
Fisrt,参数应为数字数组,这就是我写(arr)的原因, 那么您需要声明答案数组。然后使用循环从0迭代到数组的长度(您的原始循环不会停止,因为它将一直递增),然后将每个数字与100进行比较,然后将字符串推入答案数组。您也可以使用map或forEach方法,使其看起来更干净
,这对我来说看起来更好尝试一下。
function bigOrSmall(answers){
var small = true;
answers.forEach(item => {
(item <= 100) ? small = true : false;
});
(small == true) ? answers.push('big') : answers.push('small');
return answers
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。