Beware using JsArray<Double>, instead use JsArray<JsNumber>, see 
https://github.com/google/elemental2/issues/28.

A third option, with elemental2-core, rather than explicitly copying the 
array, ask the browser to do it for you with slice(). First cast the array 
to JsArray<JsNumber>, then slice it to get a copy of its contents, without 
the expandos.

JsArray<JsNumber> nodesJsArray = Js.cast(nodes);
JsNumber[] noExtraProperties = nodesJsArray.slice();

This can be handy when passing the int[] to something which refuses to 
handle extraneous properties, like window.postMessage. Yes, it is confusing 
that it appears you actually end up with a Java array, but it will not have 
those extra properties in this case.

On Tuesday, December 19, 2017 at 5:02:48 AM UTC-6, cesar paulo alves wrote:
>
> Ok guys, so I apologize, after a few tests I realized something, as Thomas 
> said about the js lib should't be reading the content, I went digger and 
> realized that the problem was not on the expando properties but the name of 
> the nodeSet array... The js looked for a "nodeSet" array and I was passing 
> it as "nodeSets" array. Very sad (I'm not good with javascript). Thanks for 
> all your help Vassills and Thomas.
> I switched my code as Vassils as suggested and could find the bug(me) 
> because of what Thomas said. Thanks a lot and sorry for taking your time.
>
> Merry Christmas to all of you.
>
> Cheers,
> César Alves
>
> terça-feira, 19 de Dezembro de 2017 às 07:18:00 UTC, cesar paulo alves 
> escreveu:
>>
>> Hello guys, so I'm getting crazy with this.
>>
>> I need to inject a java array inside a javascript library.
>>
>> The problem is that the Js library will iterate over an integer array, 
>> and if the element is not an integer it exits the function.
>> When I create the integer array and pass it to plain javascript array, 
>> for some reason it carries garbage inside, I already tried everything with 
>> no success.
>>
>> So this is my java nodeset (https://pastebin.com/AdJqj80p)
>>
>>
>> <https://lh3.googleusercontent.com/-AwVwbsEDgEo/WjgDruEwP_I/AAAAAAAACh4/PRODa3vy6Nsb3stgjMkxrhLEmLIOu7tkQCLcBGAs/s1600/Screenshot_20171218_180625.png>
>>
>> I'm using the gwt-interop-utils 
>> <https://github.com/GWTReact/gwt-interop-utils> -> 
>> https://github.com/GWTReact/gwt-interop-utils/blob/master/src/gwt/interop/utils/client/plainobjects/JsPlainObj.java
>>
>>
>> And when I inspect the javascript object in the browser you can see it 
>> has lots of garbage, and I cant clean it. See the nodes array I have 
>> (_clazz_0_g$,__elementTypeCategory$,_elementTypeId$"......).
>>
>>
>> <https://lh3.googleusercontent.com/-7LN-93NvDAc/WjgEg4wts7I/AAAAAAAACiE/AJ5jJO9hy7If7kS7EGb0e5_AdV170DsWACLcBGAs/s1600/Screenshot_20171218_180917.png>
>>
>>
>> And when I do the same with Js I don't have this garbage (obvious).
>>
>>
>> <https://lh3.googleusercontent.com/-C1POb2aM3EA/WjgFUx4qlSI/AAAAAAAACiQ/5t1bqZCIAY4pXAbsakpmxHGowXG1eVBngCLcBGAs/s1600/Screenshot_20171218_181337.png>
>>
>>
>> I already used the JsArray and everything, but no luck =/.
>>
>>
>> Do you have any Idea how to have a plain javascript array with jsInterop?
>>
>>
>> Thanks a lot.
>>
>>
>>
>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to