1
나는 내가 좋아하는이 사용자 정의 개체를 호출 할 수 있습니다, 그렇지 않으면
var locationsMap = {
"obj1":[1],
"obj2":[7],
"obj3":[21]
}
과 같은 사용자 지정 개체가 :
var loc = "obj2";
alert(locationsMap[loc][0]);
을 그리고 이것은에서 잘 작동 jsFiddle; 내가 넷 스위트에서 내 코드 내에서이 논리를 포함하면 그러나, LOC는 정의되고 다음 넷 스위트 디버거에서
nlapiLogExecution('debug',"Location: "+ loc); //works fine
nlapiLogExecution('debug','Location: '+locationsMap[loc][0]); //throws exception
:
$ nlapiLogExecution('debug','Location: '+locationsMap[loc][0]);
> TypeError: Cannot read property "0" from undefined
하는 이유는 locationsMap
객체를 통해 호출 정의되지 않은 등의 LOC 보여주는입니다 , 나는 그것을 단독으로 호출 할 때 을 정의하지 않습니까? 예상대로 nlapiLogExecution('debug','Location: '+locationsMap['obj2'][0]);
작품을 호출
--Edit--
.
--edit 2-- 나는이 문제가 발생되는 이유를 찾는 데 여전히 관심이 있지만, 때문에 이러한 문제에이 방법을 포기 결국
.
왜냐하면'loc'은'undefined '부분이 아니기 때문입니다. 정의되지 않은 부분은 locationsMap [loc]입니다 - NetSuite를 사용하는 예제에서'loc'의 값은 무엇입니까? 특히,이 라인'nlapiLogExecution ('debug', "Location :"+ loc); // 잘 동작합니까? – phatskat
locationsMap에는 키가 없습니다. 설정되기 전에 호출됩니까? – epascarello
그 행은 특정 위치, 즉 pLocation 1 : myRedactedLocation'을 참조합니다. locationMap은 obj1 대신 myRedactedLocation을 갖습니다. –