【发布时间】:2021-12-28 00:54:07
【问题描述】:
我目前正在学习 js,需要通过测试,除了“应该在参数对象上工作”之外,每个要求都会检查。
所以我需要使用arguments[0]或[1],我也需要检查数组是否为数组。这里的问题是,由于某种原因,代码的 Array.isArray() 部分将我的“应该在参数对象上工作”要求变为错误,即使我使用了 arguments[0]。
请尽量忽略其余代码,还有其他要求设置。我知道它们似乎没有必要包括在内。
这是我的代码:
function (array, n) {
var resultArray = [];if (typeof arguments[1] !== "number" || arguments[1] == 0 || arguments[1] < 0){
resultArray.push.call(resultArray, arguments[0][0])
return resultArray
}
else if (arguments[1] > arguments[0].length){
return arguments[0] && array
} else {
return resultArray;
}
};
【问题讨论】:
-
您的代码似乎充满了冗余
-
但它工作正常,我无法重现该问题
-
@skara9 因为我还需要满足其他要求,所以我只是没有将它们包括在这里,因为我唯一没有得到的部分是为什么“if (Array.isArray(arguments[0] ) !== true){ return []} “在我的“使用参数对象”要求中给了我一个错误
-
谁/什么给了你假的,他们是如何检查的?
-
请不要通过破坏您的帖子为他人增加工作量。通过在 Stack Exchange (SE) 网络上发帖,您已根据 CC BY-SA license 授予 SE 分发内容的不可撤销权利(即无论您未来的选择如何)。根据 SE 政策,分发非破坏版本。因此,任何破坏行为都将被撤销。请参阅:How does deleting work? …。如果允许删除,则帖子下方左侧有一个“删除”按钮,但仅在浏览器中,而不是移动应用程序中。
标签: javascript arrays object arguments