私は、指定されたキーに配置された配列の最後の要素を除くすべてを含む配列を返す関数を作成しています。最後の要素をすべて取得する - 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]:ここで
は私のコードです。
何が間違っているのですか?
ため、この条件を試してみてください... ...ではないif文でループのためにそれを使用しよう:D –
'場合( obj [key] .length - 1){'は常にtrueを返します(0を除く)ので、おそらく間違いがあります – Denny