2015-02-07 8 views
0

У меня есть проект для отображения 7 крупнейших состояний в Америке, сохраняющих каждое отдельное состояние в переменной и отображения его на странице с помощью javascript.Uncaught TypeError: Не удается прочитать свойство '0' undefined

мой новый код выглядит следующим образом:

<script> 
var states = ["Alaska", "Texas", "California", "Montana", "New Mexico", "Arizona", "Nevada"]; 
var miles = [663267, 268581, 163696, 147042, 121589, 113998, 110561]; 
var index= ""; 
text=""; 
function listStates() { 
    for (index=0; index < states.length; index++) { 
      text += "<tr><td>" + states[index] ;  
      text += "</td><td>" + miles[index] ; 
      text += "</td></tr>"; 
    } 
    return text; 
} 
</script> 

И я отобразить его с помощью этого один

<section id="table"> 
<table width="307" height="45"> 
<tr><th width="40">Name</th><th width="65">Size</th></tr> 
<script> 
<!-- 
    var result = listStates(); 
    document.write(result); 
//--> 
</script> 
</table> 

ответ

0

Javascript использует + для конкатенации строк, а не .. Вы также переназначили переменную text в начале каждого цикла, так что вы получите только последний результат при возврате последнего значения.

"<tr><td>Nevada</td><td>110561</td></tr>" 
+0

Спасибо, человек очень ценится. Я редактировал свой первоначальный вопрос, чтобы показать вам обновленный код и посмотреть, есть ли какие-либо более эффективные способы сделать это, и более конкретно отобразить функцию и записать ее в документ @Aweary –

1

конкатенация в JavaScript использует +, не .. Попробуйте +.

Ваш текущий код с . попытается найти свойство с именем states от строкового объекта, который является undefined. Теперь код найдет свойство с именем «0» от undefined, и он не сработает, потому что undefined не может иметь никакого свойства.

+0

Спасибо ... забыли об этом. Его PHP использует. как конкатенация правильно ?! –

+0

@MichalMcCaskle Yup, вы правы. :) –

Смежные вопросы