私はこのオブジェクトの例を持って定義されていない。アレイはJS
{
"id": 1,
"name": "name",
"address": "add",
"contactsArr": [{
"id": 1,
"name": "cont",
"tel": "tel",
"mail": "mail"
}],
"description": "desc"
}
このオブジェクトは、オブジェクトの配列の内側に、アレイはarrSuppCompNames
呼ばれています。私はDBテーブル内のJSON文字列からこの配列を取得します。
function getLastIdFromArrContUser(){
if("{{user.supplier_comp_name}}" != null && "{{user.supplier_comp_name}}" != "" && "{{user.supplier_comp_name}}" != 0){//not first
var arrSuppCompNames = JSON.parse(("{{user.supplier_comp_name}}").replace(/"/g,'"'));
console.log("arrSuppCompNames: " + JSON.stringify(arrSuppCompNames));
return arrSuppCompNames[arrSuppCompNames.length - 1].contactsArr[contactsArr.length - 1].id;
}else{//first
return 0;
}
}
が、私は、この行return arrSuppCompNames[arrSuppCompNames.length - 1].contactsArr[contactsArr.length - 1].id;
でUncaught ReferenceError: contactsArr is not defined
を得続ける: はここcontactsArr
内の最後のオブジェクトのIDを取得するために私の関数です。物事の配列の前に行が印刷されているので、オブジェクトの配列の内部にはcontactsArr
が存在することが分かります。これは私のログです:
私は見ることができないか、それ以上のJSONに関連するばかげたJSエラーかミスタイプか分かりません。
感謝を
"id"
プロパティを含む"contactsArr"
プロパティ値の配列を取得するには消滅の割り当てを使用することができます最初の間違いです – mallocthePDcontactsArrはJSON構造体のインデックス名であり、関数のスコープ内では定義されていません。私が提案したのは、配列をJSON構造体からローカル変数に保存することでした。この変数はスコープ内で認識されていました。代わりに、次のようなものがあります: 'return arrSuppCompNames [arrSuppCompNames.length - 1] .contactsArr [arrSuppCompNames [arrSuppCompNames.length - 1] .contactsArr.length - 1] .id' –