2010-03-08 3 views
0

에 긴 문자열 나는 ​​그것 연락처 전화 번호 및 오픈 시간, 보시다시피 그스토어 멀티 포트 배열

var callinfo_data=new Array(
"1300 135 604#<b>Monday - Friday: 9:00 a.m. to 5:30 p.m. AEST</b>", //Australia 
.. 
"0844000040#<b>lunedì-venerdì ore 10:00 - 17:00 CET</b>", //Switzerland (it) 
"212 356 9707#<b>Hafta içi her gün: 10:00 - 18:00</b>", //Turkey 
"08451610009#<b>Monday - Friday: 9:00 a.m. to 6:30 p.m. GMT</b>", //UK 
"866 486 6866#<b>Monday - Friday: 7:00 a.m. to 11:00 p.m. EST</b><br />Saturday: 9:00 a.m. to 8:00 p.m. EST", //USA 
"+31208501004#<b>Monday - Friday: 9:00 a.m. to 7:30 p.m. GMT+1</b>", //other countries 
" # "); 

처럼 보이는 긴 문자열 배열을 가지고있다. 내가 그들을 분할 separet에 사용할 수 있습니다 info = callinfo_data [n] .split ("#"); 두 개의 섹션, 그리고 내가 쿠키 변수를 읽은 다음 표시 할 수있는 권리 연락처 정보를 선택합니다

"<div id ='phoneNumber'>"+info[0]+"</div><div id='openTime'>"+info[1]+"</div>" 

하지만 내 디스플레이 전화 번호 기능과 같은 HTML에서 그들을 나타낼 수 있습니다.

등이

 phone=callinfo_data[2].split("#"); 
if (locale == 'UK')   details = phone[0]+ build_dropdown(locale); 
    else if (locale == 'fr') details = 'French Contact Details<br>'+build_dropdown(locale); 
    else if (locale == 'be') details = 'Belgian Contact Details<br>'+ build_dropdown(locale); 
    else details = 'Unknown Contact Detail'; 
    writeContactInfo(details); 

내 질문

내가 똑똑한 방법으로 내 쿠키 변수, 영국을 기반으로 전화 번호와 시간을로드하는 기능을 구축 할 수있는 방법입니다.

모든 것을 하드 코딩 할 수 있지만 너무 어리석은 것 같습니다.

내가 좋아하는 긴 코드를 작성해야

:

phone1= allinfo_data[0].split("#"); 

phone1= allinfo_data[1].split("#"); 
... 

두 번째 질문, 어떻게 쉽게 접근 다중 배열로이 긴 배열을로드 할 수 있습니다?

당신에게

감사합니다, 청

답변

0

을 대신 문자열을 사용하고 왜 당신이 당신의 데이터를 저장하는 객체 리터럴을 사용하지 않는 분할? 감사

var locales = { 
    "UK" : { 
    "details": "UK Contact Info", 
    "phone" : "111-111-1111", 
    "hours" : "Monday - Friday: 9:00 a.m. to 7:30 p.m. GMT+1" 
}, 
    "DE": { 
    "details": "DE Contact Info", 
    "phone" : "111-111-1111", 
    "hours" : "Monday - Friday: 9:00 a.m. to 7:30 p.m. GMT+1" 
}}; 

당신은 다음과 같이 액세스 할 수 있습니다 :

locales["UK"]["phone"]; 

function buildTimeInfo(){ 
    var newDiv = document.createElement("div"); 
    var html = "<h2>" + locales[locationFromCookie]["details"] + "</h2>"; 
    html += "<h3>" + locales[locationFromCookie]["hours"] + "</h3>"; 
    html += "<p>" + locales[locationFromCookie]["phone"] + "</p>"; 
    newDiv.innerHTML = html; 
    document.body.appendChild(newDiv); 
}; 
당신은 내부 배열의 이러한 개체를 넣을 수 있습니다

{ 
    "phone" : "111-111-1111", 
    "hours" : "Monday - Friday: 9:00 a.m. to 7:30 p.m. GMT+1" 
} 

이 같이

...