2013-03-15 2 views
0

안녕하세요 저는 javascipt에 새로운 것이므로 명확하게 설명하십시오.내 텍스트 필드에서 데이터 나누기

<input type="text" id="data"/> 

<script> 
document.getElementById("data").value = localStorage.getItem('itemsArray'); 
</script> 

이 항목의 배열은 다음과 같이 저장됩니다 개체를 포함 : 나는 현재이 포함 된 PHP 페이지를 실행하고

function save(){ 

var oldItems = JSON.parse(localStorage.getItem('itemsArray')) || []; 

var newItem = {}; 
var num = document.getElementById("num").value; 

newItem[num] = { 
    "methv": document.getElementById("methv").value 
    ,'q1': document.getElementById("q1").value, 
    'q2':document.ge27548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}}]tElementById("q2").value, 
    'q3':document.getElementById("q3").value, 
    'q4':document.getElementById("q4").value, 
    'comm':document.getElementById("comm").value 
}; 


oldItems.push(newItem); 

localStorage.setItem('itemsArray', JSON.stringify(oldItems));} 

페이지의 결과는 다음과 같이 나타납니다

[{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}}]

어쨌든 루프를 무언가 같이 한 번에 하나씩 조작 할 수 있도록 데이터를 분할 할 수 있습니다.

1 시간 :

{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}} 

다음 :

{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}} 

감사합니다 예를 들어.

+0

: 예를 들어

http://stackoverflow.com/questions/96428/how-do-i-split-this-string-with- javascript – isherwood

답변

1

데이터가 이미 배열로 반환됩니다.이 배열은 표준 for 루프로 루프 할 수 있습니다. 그러나 먼저 구문 분석하여 표준 객체 메소드를 사용하여 액세스 할 수있는 객체를 갖고 싶어합니다. 당신은 어떤 문자 또는 문자열에 문자열을 분할 할 수 있습니다

var allItems = JSON.parse(localStorage.getItem('itemsArray')) || []; 
for(var i = 0; i < allItems.length; i++) { 
    var item = allItems[i]; 
    console.log('Current item: %o', item); 
    // do whatever you want to it, etc. 
} 
+0

와우 작품 고맙습니다. – user2162768

2

oldItems 배열을 채울 때 save() 메서드가 사용하는 것처럼 JSON.parse()를 수행해야합니다. 그런 다음 결과 배열을 순환시킬 수 있습니다.

예제 코드 :

<input type="text" id="data"/> 

<script> 
var myArray = JSON.parse(localStorage.getItem('itemsArray')) || []; 
for (var i = 0; i < myArray.length; i++) { 
    var element = myArray[i]; 
    // Do something with element. 
} 
</script> 
+0

안녕하세요, 아이브 그냥 시도하고 경고 우리와 나는 '[개체 개체]'어떤 아이디어? – user2162768

+0

이것은 자바 스크립트 객체의 표준 출력 표기법입니다. 내부에 무엇이 있는지보고 싶다면 firebug 나 Chrome의 개발자 도구와 같은 콘솔을 사용해야합니다. – DocKuro

+0

아하. 감사합니다 남자 – user2162768

0

안녕하세요 그것은 당신의 저장 스크립트가 텍스트 필드에서 데이터를 받고 배열 내의 개체로 추가되는 것 같습니다.

배열은 로컬 저장소에 저장되며이 같은 그것을 얻을 수 있습니다

for(var i in items){ 
    // this has the i object within the array 
    var item = items[i]; 

    // if you dont know the names of the keys in the array 
    // you can loop through this again using another loop 
    for(var j in item){ 
    // you can then change this key like so: 
    items[i][j] = item[j].toUpperCase(); // (this makes the value upper-case for example) 
    } 

    // if you do know the names then you can just change them directly 
    items[i].q1 = items[i].q1.toUpperCase(); 

} 
이로

var items = JSON.parse(localStorage.getItem('itemsArray')) || []; 

는 루프에 대한 간단한와 그것을 통해 루프를 할 수 있어야 배열입니다

관련 문제