配列のすべてのメンバーを反復して関数にパラメータとして渡す関数を記述しています。配列の各メンバーは、コンソールに出力されます。objと配列の両方で機能する関数 - JS
次に、関数にパラメータとしてARRAYまたはOBJECTが渡されても機能するように、その関数を拡張する必要があります。これは、パラメータがARRAYかOBJECTかどうかを区別する方法を知る必要があることを意味します。
現在、私はforループを使用していますが、バリエーションのためにforEachバージョンも作成しました。
は私のコードを参照してください:ここ
function iterateMembers(arg){
for(let i = 0; i < arg.length; i++){
console.log(arg[i]);
}
}
let output = iterateMembers(arr);
console.log(output);
// forEach Version
function iterateMembers(arg){
arg.forEach((item) => console.log(item));
}
let arr = ['nci', 12, 'blog', 15];
let obj = {
firstname: 'nci',
lastname: 'g',
age: 21
};
let output = iterateMembers(arr);
console.log(output);
一つの大きな問題は、私がobjに渡されたとき、それは何も返さず、ES5およびES6バージョンの両方にエラーを返すということです。これは、ARRAYまたはOBJECTがその関数にパラメータとして渡された場合でも機能するはずです。これは、パラメータがARRAYかOBJECTかどうかを区別する方法を知る必要があることを意味します。
これを適切に処理して、アレイまたはオブジェクトの内容をコンソールに出力する必要があります。 ES5とES6の両方のバージョンでこの機能を作成する必要があります。私は何が不足しているか考えていますか?どうやってやるの?
です'Object'をループすると、' Object.keys(obj) '(キーを得るために.valuesを、または値を得るために.valuesをループするか、単にキーをループしてキーで値を取得します)。あなたの例では、配列には1次元(値)があり、オブジェクトにはKey-> Valueのペアがあるため、Objectキーをつかんでループする必要があります。アプローチは異なりますが、これはおそらくあなたが欠けているものです。 – briosheje