【发布时间】:2022-01-19 19:52:21
【问题描述】:
我被困在这个问题上:
编写一个名为 getValidPassword 的函数,它接受一个二维数组作为参数。
第一个数组中的每个条目代表一个密码。您需要找到没有奇数的密码并从您的函数中返回该密码。 这是一个例子:
var loggedPasscodes =[
[1, 4, 4, 1],
[1, 2, 3, 1],
[2, 6, 0, 8],
[5, 5, 5, 5],
[4, 3, 4, 3]
];
getValidPassword(loggedPasscodes) // returns the array: [2, 6, 0, 8]
尝试过这种方式,但错误消息显示:>>>>代码不正确 Function getValidPassword is not working as required." [2,6,0,8].
`var loggedPasscodes=[
[1, 4, 4, 1],
[1, 2, 3, 1],
[2, 6, 0, 8],
[5, 5, 5, 5],
[4, 3, 4, 3],
];
var getValidPassword = function(getPassword){
var passcode = [];
var cache = [];
for (var i = 0; i < getPassword.length; i++){
for (var j = 0; j < getPassword[i].length; j++){
if(getPassword[i][j] % 2 === 0){ cache.push(getPassword[i][j]);
}
else {break;
}
if(getPassword[i].length === cache.length){
passcode= cache.slice();
}
}
}
return passcode;
};
console.log('[' + getValidPassword(loggedPasscodes) + ('') + ']');`
还有这个:
function getValidPassword(loggedPasscodes) {
return loggedPasscodes.filter(passcode => passcode.every(n => n % 2 === 0));
};
let loggedPasscodes =[
[1, 4, 4, 1],
[1, 2, 3, 1],
[2, 6, 0, 8],
[5, 5, 5, 5],
[10, 2, 4, 42],
[4, 3, 4, 3]
];
console.log(getValidPassword(loggedPasscodes));
and
function getValidPassword(loggedPasscodes) {
for (let i = 0; loggedPasscodes.length > i; i++) {
let passcode = loggedPasscodes[i];
let temImpar = false;
for (let j = 0; passcode.length > j; j++) {
if (passcode[j] % 2 !== 0) { // ímpar
temImpar = true;
números)
break;
}
}
if (! temImpar) {
return passcode;
}
};
let loggedPasscodes =[
[1, 4, 4, 1],
[1, 2, 3, 1],
[2, 6, 0, 8],
[5, 5, 5, 5],
[4, 3, 4, 3]
];
console.log(getValidPassword(loggedPasscodes)); // [2, 6, 0, 8
]
还有这个:
function getValidPassword(loggedPasscodes) {
let codes = [];
for (let i = 0; loggedPasscodes.length > i; i++) {
let passcode = loggedPasscodes[i];
let temImpar = false;
for (let j = 0; passcode.length > j; j++) {
if (passcode[j] % 2 !== 0) { // ímpar
temImpar = true;
break;
}
}
if (! temImpar) {
codes.push(passcode);
}
}
return codes;
};
let loggedPasscodes =[
[1, 4, 4, 1],
[1, 2, 3, 1],
[2, 6, 0, 8],
[5, 5, 5, 5],
[4, 3, 4, 3]
];
console.log(getValidPassword(loggedPasscodes))
这个:
function getValidPassword(loggedPasscodes) {
return loggedPasscodes.find(passcode => passcode.every(n => n % 2 === 0));
};
let loggedPasscodes =[
[1, 4, 4, 1],
[1, 2, 3, 1],
[2, 6, 0, 8],
[5, 5, 5, 5],
[4, 3, 4, 3]
];
console.log(getValidPassword(loggedPasscodes)); // [2, 6, 0, 8]
还可以尝试复制类似以下示例的内容:
function retornaNNumerosPares(n) {
let numerosPares = [];
for (let i = 0; numerosPares.length < n; i++) {
if (i % 2 == 0) {
numerosPares.push(i);
}
}
return numerosPares;
}
console.log(retornaNNumerosPares(5));
但以上都不起作用。你能帮帮我吗,我几乎完成了所有的练习。
你能帮忙吗?
【问题讨论】:
-
第一个正在工作,最短的也是。问题是什么?
-
问题是“编写一个名为 getValidPassword 的函数,它以一个二维数组作为参数。第一个数组中的每个条目代表一个密码。您需要找到没有奇数的密码并返回该密码从你的函数。这是一个例子: var loggedPasscodes =[ [1, 4, 4, 1], [1, 2, 3, 1], [2, 6, 0, 8], [5, 5, 5, 5 ], [4, 3, 4, 3] ]; getValidPassword(loggedPasscodes) // 返回数组:[2, 6, 0, 8]
-
是的,但您的代码有效。也许通过创建一个新数组而不是采用给定数组之一是一个问题,谁知道呢,
标签: javascript arrays multidimensional-array