Ard*_* Xi 13 javascript arrays implode multidimensional-array
我正在尝试将二维数组转换为字符串,以便将其存储在localStorage数组中.但是,我无法识别的代码有问题:
for(x in array) {
if(array[x] instanceof Array) {
array[x] = array[x].join("`");
}
}
var string = array.join("@");
localStorage[key] = string;
Run Code Online (Sandbox Code Playgroud)
有谁知道我做错了什么?
至于什么是错的,通过多维数组我的意思是数组[0] [1]等.当输入到localStorage时,所有'字符串'都被缩减为@,暗示@的另一边还有数组.
Jon*_*ker 17
现在这很简单:
[[1,2],[3,4]].map(e => e.join(':')).join(';'); // 1:2;3:4
Run Code Online (Sandbox Code Playgroud)
什么是错的?当然,你可以说你的输入是什么,你期望什么,以及不希望的输出是什么?
至少,如果array
确实是一个数组,你不应该使用for..in loop
.这是对象.只需使用一个
for (var i=0, l=array.length; i<l; i++){
if (array[i] instanceof Array){
array[i] = array[i].join("`");
}
}
Run Code Online (Sandbox Code Playgroud)