로컬 저장소에 저장하는 여러 개의 큰 다차원 배열이 있습니다. 그들은 다음과 같이 :로컬 저장소에서 배열로드 : 결과가 배열이 아닙니다 - javascript
[[[-150],[0],[-650],0],[[-100],[0],[-650],0],[[-50],[0],[-650],0] ... ]
데이터는 '4D'데이터입니다. 이 '문자열'을 별도의 html로 다른 JS의 배열에로드하려고하면 배열처럼 작동하지 않습니다. 단지 문자열 일뿐입니다. 여기
이 (루프 중 하나가 작동하지 않은 이유는 확실하지) 나는 두 번째 JS에 다시 데이터를로드하는 방법은 다음과 같습니다 나는 배열에 "4D"정보를로드 한 후
var lay= new Array();
//for(var g=0;g>=9;g++)
//{ lay[g] = localStorage.getItem("key" + g);
// console.log(lay[g]);
//}
lay[0] = localStorage.getItem("key0");
lay[1] = localStorage.getItem("key1");
lay[2] = localStorage.getItem("key2");
//... more here
lay[9] = localStorage.getItem("key3");
, 내가 당겨 정보 아웃이 기능을 사용하려면
var count=0;
var len=0;
for (y=0;y<=1;y++)
{ console.log(lay[y]);
count=1;
len = lay[y].length;
for (x=1;x<=len-1;x++)
{
Rx = lay[y][count][0];
Ry = lay[y][count][1];
Rz = lay[y][count][2];
Rcolor = lay[y][count][3];
내가 배열의 문자 길이를 얻을 코드 console.log(len);
이 아닌 요소의 수에 이것을 추가하면. 어떻게 로컬 스토리지에서 데이터를 가져 와서 배열처럼 작동 할 수 있습니까? 포맷팅만으로도 배열처럼 동작 할 것이라고 생각했습니다.
배열로 다시 구문 분석해야합니까? 그렇다면 데이터를 다시 구문 분석하기 위해 더 간단한 형식으로 데이터를 출력해야한다고 생각합니다 ...
감사합니다.
for (var a=0;a<=14;a++)
{ updateTemp(tStep + a);
$("#temp tbody tr").each(function(i, v){
data[i] = Array();
$(this).children('td').each(function(ii, vv){
data[i][ii] = $(this).text();
rows=ii;
cols=i;
});
});
retval="";
for (var q=0;q<=cols;q++)
{
for (var w=0;w<=rows;w++)
{
var tempv = data[q][w];
var tX = w*50 - 1000;
var tY = 1*50 - 50;
var tZ = q*50 - 1000;
if (tempv==-9){
(dummy=q*w);
}
else {retval += tX +',' + tY + ',' + tZ + ',' + tempv + ',';}
}
}
var kee = "key" + a;
retval = retval.substring(0, retval.length-1); //this is to get rid of the last character which is an extra ,
window.localStorage.setItem(kee, retval);}
배열을 문자열로 직렬화하고 문자열을 저장 한 다음 회상시 쉽게 deserialzie하지 않으시겠습니까? –
배열은 localStorage에 저장할 수없고 문자열 만 저장할 수 있으므로 .toString() 배열을 전달할 때 적용되고 다시 가져올 때 문자열입니다. 배열을 문자열로 변환하려면 JSON.stringify와 JSON.parse를 사용하여 다시 얻으십시오. – adeneo
* "배열의 문자 길이가 아니라 요소의 수를 얻습니다."* "배열"로 참조하는 것은 실제로는 배열의 문자열 표현입니다. 이 값을 localstorage에 어떻게 추가하는지 확인해야합니다. –