我正在處理一個函數,該函數返回一個數組,其中包含除位於給定鍵上的數組的最後一個元素之外的所有元素。如果數組爲空,它應該返回一個空數組。
- 如果給定鍵的屬性不是數組,則返回一個空數組。
- 如果在鍵上沒有屬性,它應該返回一個空數組。獲取所有,但最後一個元素-JS
這裏是我的代碼:
function getAllButLastElementOfProperty(obj, key) {
var output = [];
if (key in obj && Array.isArray(obj[key]) && obj[key].length !== 0)
{
for(var i = 0; i < obj[key].length; i++){
if(obj[key].length - 1){
output.push(obj[key][i]);
}
}
return output;
}
}
var obj = {
key: [1, 2, 3]
};
var output = getAllButLastElementOfProperty(obj, 'key');
console.log(output); // --> MUST RETURN [1,2]
我的代碼返回[1,2,3]。
任何想法我做錯了什麼?
我想你搞砸-1 ...儘量不要在if語句使用它在for循環...:d –
'如果( obj [key] .length - 1){'總是返回true(除了0),所以可能錯誤在那裏 – Denny