1
次の関数を再帰的に呼び出そうとしています。私は、未定義の 『のgetDataに』 "プロパティを読み取ることができません。それは、エラーを示すたtehの関数を呼び出すことを試みたtypescript/javascriptの再帰関数
public getData(key,value){
this.htmlString += '<span style="color:cornflowerblue">'+key+' </span>:';
if(value instanceof Object){
Object.keys(value).forEach(function (keydata) {
let obj = value[keydata];
this.getData(keydata,value[keydata]);
console.log(key,obj,obj instanceof Object)
});
}else{
this.htmlString += '<span>'+value+'</span>';
}
return this.htmlString;
};
。コードまたはこれを行うには、他の方法で任意の間違っあります。
あなたはまた、渡すことができます[* thisArg *](のhttp:/ /ecma-international.org/ecma-262/7.0/index.html#sec-array.prototype.foreach)を2番目のパラメータとして使用します。 * this *は "コンテキスト"ではなく、実行コンテキストのパラメータです。 – RobG
@RobG、ありがとう、私はそれを知らなかった。それはおそらく新しいものです。私は答えを編集しました –
* forEach *は[* ECMAScript ed 5 *](http://www.ecma-international.org/ecma-262/5.1/#sec-15.4.4.18)で導入されました。 ;-) – RobG