2016-11-17 5 views
0

메서드에서 나오는 값으로 json 객체를 만들고 채워야합니다. 배경에 대한 약간의 설명 : 지정된 키워드로 PDF 문서를 검색하고 일치하는 항목이 있으면 각 일치 항목에 대해 저장해야합니다. - 일치하는 부분이있는 전체 문장 - 검색어 다른 곳에서는 검색어가 항상 같으므로 여기서는 실제로 중복됩니다.하지만 json 오브젝트에서 검색 용어가 필요합니다. - 검색 결과가있는 색인입니다. 전체 문장이어야하며 정수 여야합니다.) 그래서 여기에 몇 가지 코드가 있습니다. 내가 루프 내부에이 함수 호출이 (루프는 페이지를 이동 한 다음 텍스트를가는 두 번째 루프가) :json 객체 만들기 및 채우기

for(var i = 0; i < items.length; i++){ 
    lineWithResult = searchPdf(block.str); 
    if(lineWithResult != null){ 
     console.log(lineWithResult + " wordCounter is " + wordCounter); 
    } 
} 

및 함수 자체 : SO

function searchPdf(toSearch){ 
    var result = toSearch.toLowerCase().indexOf(searchTerm); 
    if(result >=0){//if match is found 
     wordCounter++; 
     //console.log("toSearch " + toSearch + " result is " + result + " wordCounter " + wordCounter); 
     return toSearch; 
    } 
    else{//if match not found 
     return null; 
    } 

} 

각 반복에서 위에 설명 된 매개 변수를 취하는 json 객체를 생성해야합니다.

그래서 가장 좋은 방법은 무엇입니까? json과 녹슬지 않습니다. 위에서 내가 객체를 정의합니까 어떻게 내가 그것을 채울 않는 경우, 옳다면

var searchResult = {"Line" : "", "SearchTerm" : "", "Result" : ""} 

: 은 내가 (즉,도 유효한 정의 인 경우)과 같이 빈 객체를 생성하여 시작하는 것 같아 관련 가치? 내가 사용할 문서 (pdf)가 꽤 크고 많은 일치를 반환 할 수 있기 때문에 많은 줄, 검색 용어 및 많은 결과가 있다는 것을 명심하십시오. 감사합니다.

답변

0

그 :

var searchResult = {"Line" : "", "SearchTerm" : "", "Result" : ""} 

이미 개체를 정의했습니다. 자바 스크립트 (이 시점에서)는 "클래스"기반 언어가 아니라 프로토 타입입니다. JavaScript의 JSON은 단순한 JavaScript 객체 그 이상을 의미하지 않습니다. 그런 종류의 객체를 여러 개 만들려면 다양한 옵션이 있습니다. JS Object의 생성 패턴에 대해 읽어 보시기 바랍니다.

여기에 a good link입니다. 당신이 그런 일 할 수 있다고 말했다되고 그건

:

// ... maybe inside a function 
return { 
    line: myLineValue, 
    searchTerm: mySearchtermValue, 
    result: myResult 
} 

빈 값 뭔가 init을 할 필요가 없습니다를; 중괄호로 객체를 생성하면됩니다.

희망 사항은 귀하에게 의미가 있습니다. 그렇지 않다면 의견에 대해 알려주십시오. 나는 대답을 개선하려고 노력할 것입니다. :-)

+0

감사합니다,하지만 결국 개체의 정상적인 배열을 사용하여, 감사합니다! – antobbo