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.
