Как получить доступ к объекту JavaScript в виде массива - PullRequest
0 голосов
/ 26 июня 2019

В GopherJS члены объекта сами являются объектами (точно так же, как js обрабатывает вещи под капотом, ttbomk).

Так что при доступе к члену возвращается *js.Object:

func makeRID(o *js.Object) string {
  // access the array of numbers in member RID:
  arr := o.Get("RID")
  // arr is now a *js.Object - not an []interface{} - which is what I actually need (and what the contents of the property RID really are...
}

входящий o является объектом js, который был извлечен из ответа JSON с сервера.Его член "RID" является массивом байтовых значений - например, { RID: [ 136, 210, 92, 97, 152, 26, 17, 233, 147, 147, 8, 0, 39, 223, 163, 7 ], ...

Я не гуглю и не вижу в документах js для gopherjs каких-либо четких указаний о том, как перейти от * js.Объект для gopherjs-эквивалента массива js, а именно []interface{}

Идеи?

*js.Object -> []interface{}

1 Ответ

1 голос
/ 26 июня 2019

Ву-ху - понял! Спасибо за предложения:)

func makeRID(o *js.Object) string {
  // access the array of numbers in member RID:
  jsRID := o.Get("RID")
  // I know that the source object's RID member is an Array, so we can access it in gopherjs as:
  jsArray := jsRID.Interface().([]interface{})
  // ... profit!
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...