我正在處理以下練習問題,但不斷收到錯誤。函數getElementOfArrayProperty()正常工作但無法通過測試
問:
寫了一個名爲 「getElementOfArrayProperty」 功能。
給定一個對象,一個鍵和一個數字索引,「getElementOfArrayProperty」返回位於給定鍵的給定對象內的數組的給定索引處元素的值。
備註:
*如果數組爲空,則應該返回undefined。
*如果給定索引超出位於給定鍵的數組的範圍,則它應該返回undefined。
*如果給定鍵的屬性不是數組,它應該返回undefined。
*如果在鍵上沒有屬性,它應該返回undefined。
function getElementOfArrayProperty(obj, key, index) {
var element = '';
if (!obj[key] || !obj[key][index] || Array.isArray(obj[key]) === false) {
return undefined;
} else {
for (var i = 0; i < obj[key].length; i ++) {
element = obj[key][index];
}
}
return element;
}
var obj = {
key: ['Jamil', 'Albrey', 'jones', 'justin']
};
getElementOfArrayProperty(obj, 'key', 3);
我的代碼返回正確的索引值,但我不斷收到以下錯誤:
should_return_the_element_at_the_index_of_the_array_at_the_key_of_the_passed_in_object 在對象中傳遞的關鍵數組的索引應該返回元素
預計未定義爲0.
任何人都可以看到發生了什麼?
? 「預期未定義爲0」。意味着您不會顯示的其他一些輸入數據的測試。我不認爲你有權訪問失敗的輸入? – nnnnnn
你給循環中的'element'分配了相同的值 - 這不是你的問題,但它很愚蠢,代碼爲 –
顯然這是在某些測試環境中,你根本沒有提及或描述的事實 - 因爲'should_return_the_element_at_the_key_of_the_passed_in_object'是特定於您的環境 –