我目前正在學習 js 并且需要通過測驗,除了“應該在引數物件上作業”之外,每個要求都要檢查。
所以我需要使用引數[0]或[1],我也需要檢查陣列是否是陣列。這里的問題是,由于某種原因,代碼的 Array.isArray() 部分將我的“應該在引數物件上作業”要求變為假,即使我使用了引數 [0]。
請盡量忽略其余的代碼,還有其他要求設定。我知道他們似乎沒有必要包括在內。
我們可以在 stackoverflow 上尋求幫助,所以我很感激你的幫助。謝謝 :)
這是我的代碼:
// Return an array with the first n elements of an array.
// If n is not provided return an array with just the first element.
_.first = function (array, n) {
var resultArray = [];
if (Array.isArray(arguments[0]) !== true){
return []}
else if (arguments[1] > arguments[0].length){
return arguments[0]
} else if (typeof arguments[1] !== "number" || arguments[1] == 0 || arguments[1] < 0){
resultArray.push.call(resultArray, arguments[0][0])
return resultArray
} else {
for (var i = 0; i < arguments[1]; i )
resultArray.push.call(resultArray, arguments[0][i]);
return resultArray;
}
};
uj5u.com熱心網友回復:
那是因為需求期望您在某處使用變數 argument array。相反,您使用arguments[0].
所以使用第一個而不是后者。
同樣,使用n代替arguments[1]
uj5u.com熱心網友回復:
您可以簡單地使用Array.prototype.slice函式
const first = (array = [], n = 1) =>
Array.isArray(array) ? array.slice(0, array.length >= n ? n : 1) : [];
如果n > array.length這將回傳整個陣列。
uj5u.com熱心網友回復:
試試這個:
if (!window[atob('QXJyYXk=')][atob('aXNBcnJheQ==')](arguments[0])) return [];
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/395452.html
標籤:javascript 数组 目的 争论
上一篇:JavaScript過濾器回圈不回圈遍歷陣列中的所有專案
下一篇:在等待json回應時未抓住承諾
