This is simple to do with localDataStorage, where you can transparently set/get any of the following "types": Array, Boolean, Date, Float, Integer, Null, Object or String.
[DISCLAIMER] I am the author of the utility [/DISCLAIMER]
Examples:
localDataStorage.set( 'key1', 'Belgian' );
localDataStorage.set( 'key2', 1200.0047 );
localDataStorage.set( 'key3', true );
localDataStorage.set( 'key4', { 'RSK' : [1,'3',5,'7',9] } );
localDataStorage.set( 'key5', null );
localDataStorage.get( 'key1' ); --> 'Belgian'
localDataStorage.get( 'key2' ); --> 1200.0047
localDataStorage.get( 'key3' ); --> true
localDataStorage.get( 'key4' ); --> Object {RSK: Array(5)}
localDataStorage.get( 'key5' ); --> null
As you can see, the primitive values are respected. In your case, we would do this:
>localDataStorage.set( 'datas', ["1", "2", "3"] );
Note that we didn't need to do any stringification to our key value. You can specify it plainly and clearly. Now, when we retrieve it...
>localDataStorage.get( 'datas' ) -->
... we will get:
>(3) ["1", "2", "3"]
exactly what we started with, without having to convert anything.