저는 .NET 일반 사전 <>을 가지고 Jint에서 실행중인 JavaScript 함수에 전달하려고합니다.Jint에서 Dictionary <>를 열거하는 방법
Jint는 .NET 사전을 사전처럼 취급 할 수있는 JavaScript 개체처럼 취급하지 않습니다. 개체의 .NET 속성과 메서드에는 액세스 할 수 있지만 Extension 메서드에는 액세스 할 수 없습니다.
그래서 Dictionary 키를 계산할 수는 있지만이를 열거하거나 ToArray()를 호출 할 수는 없습니다.
사전 중 값을 읽으려면 dict [key]를 사용할 수 있지만이 경우 사전에 키를 알 수 없습니다.
키를 열거하거나 .NET 일반 사전의 모든 항목을 가져 오는 방법은 무엇입니까?
JavaScript에 전달하기 전에 사전에 뭔가를하거나 변환하는 것에 익숙합니다. 키 배열을 별도로 전달하지 않아도됩니다. 이것은 다른 데이터 구조 안에 있으며 각 사전에 대해 그렇게하는 것이 더 복잡해 지지만 다른 솔루션을 찾을 수없는 경우 고려중인 옵션 중 하나입니다.
나는 역학을 사용하지 않기를 원합니다. 나는 과거에 무겁게 사용되었을 때 기억을 새기고있는 데 어려움을 겪었다.
이전에 [tag : jint]를 사용한 적이 없지만 귀하의 질문이 자바 스크립트에서 개체의 멤버를 열거하는 방법 인 것 같습니다. javascript *의 객체는 * 사전이며 일반적으로 그렇게 직렬화됩니다. [This] (https://stackoverflow.com/questions/684672/how-do-i-loop-through-or-enumerate-a-javascript-object) 질문에 대한 답변을 얻으실 수 있습니다 – Rob
다음과 같은 javascript 객체 속성을 반복 할 수 있습니다. [this] (https://stackoverflow.com/questions/85992/how-do-i-enumerate-the-properties-of-a-javascript-object), 그러나 당신이 원하는 것을 정확하게 말하기는 어렵습니다. 여기서 해. .net 측에서는'Dictionary'KeyCollection을 열거하고 모든 키 목록을 얻을 수 있습니다. –
은 jint에서 작동하지 않습니다. 그것은 자바 스크립트에서 객체를 선언 한 것입니다. 일반적인 js 방식을 사용할 수 있지만,NET 개체가 js 환경으로 전달되고 일반 js 개체처럼 처리 할 수 없습니다. 나는 이미 특별히 (var i in mydict)와 (var i in mydict.Keys) 어느 쪽도 노력하지 않았다. – Zack