gpt4 book ai didi

javascript - 如果语句为 true,则脚本在 block 内返回 console.log() 但不返回

转载 作者:行者123 更新时间:2023-12-02 21:36:35 24 4
gpt4 key购买 nike

我试图尽可能简洁,所以我的帖子主要是代码。我发现这在某种程度上违反了规则,但我认为如果将代码粘贴到控制台中,这是您发现问题的最简单方法。我不明白为什么 if 语句为 validIn 函数返回 console.log() 但不返回同一 block 中的 false。

所以函数 checkSudo 单独工作正常:

function checkSudo(data) {
for (var i = 0; i < data.length; i++) {
if (i < data.length - 1 && data[i].length !== data[i + 1].length) {
console.log("hello");
return false;
}
if (
i < data.length - 1 &&
data[i].toString() === data[i + 1].toString()
) {
return false;
}
let sortRows = data[i].sort((x, y) => x - y);
let compare = [...new Set(sortRows)];
if (sortRows.toString() !== compare.toString()) {
return false;
}
}
for (var i = 0; i < data.length; i++) {
let columns = [];
for (var j = 0; j < data.length; j++) {
columns.push(data[i][j]);
columns.sort((x, y) => x - y);
let compare = [...new Set(columns)];
if (columns.toString() !== compare.toString()) {
return false;
}
}
}
return true;
}

但 isValid 函数内部仅显示 console.log (???)

function isValid(data) {
if (data.length == 1 && data[0] != 1) {
return false;
}
if (data.length == 0) {
return false;
}
checkSudo(data);
function checkSudo(data) {
for (var i = 0; i < data.length; i++) {
if (i < data.length - 1 && data[i].length !== data[i + 1].length) {
console.log("hello");
return false;
}
if (
i < data.length - 1 &&
data[i].toString() === data[i + 1].toString()
) {
return false;
}
let sortRows = data[i].sort((x, y) => x - y);
let compare = [...new Set(sortRows)];
if (sortRows.toString() !== compare.toString()) {
return false;
}
}
for (var i = 0; i < data.length; i++) {
let columns = [];
for (var j = 0; j < data.length; j++) {
columns.push(data[i][j]);
columns.sort((x, y) => x - y);
let compare = [...new Set(columns)];
if (columns.toString() !== compare.toString()) {
return false;
}
}
}
return true;
}
}

用于调用函数的数组(返回 false):

[
[1, 2, 4, 2,3],
[3,2, 4,1],

[4,1, 3,2],
[2,3, 1,4]
];

嘟嘟声发生了什么?

最佳答案

是否需要返回checkSudo?

function isValid(data) {
if (data.length == 1 && data[0] != 1) {
return false;
}
if (data.length == 0) {
return false;
}
// add return
return checkSudo(data);
function checkSudo(data) {
for (var i = 0; i < data.length; i++) {
if (i < data.length - 1 && data[i].length !== data[i + 1].length) {
console.log("hello");
return false;
}
if (
i < data.length - 1 &&
data[i].toString() === data[i + 1].toString()
) {
return false;
}
let sortRows = data[i].sort((x, y) => x - y);
let compare = [...new Set(sortRows)];
if (sortRows.toString() !== compare.toString()) {
return false;
}
}
for (var i = 0; i < data.length; i++) {
let columns = [];
for (var j = 0; j < data.length; j++) {
columns.push(data[i][j]);
columns.sort((x, y) => x - y);
let compare = [...new Set(columns)];
if (columns.toString() !== compare.toString()) {
return false;
}
}
}
return true;
}
}

var dataz = [
[1, 2, 4, 2,3],
[3,2, 4,1],

[4,1, 3,2],
[2,3, 1,4]
]

console.log(isValid(dataz))

关于javascript - 如果语句为 true,则脚本在 block 内返回 console.log() 但不返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60477140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com