Как использовать Javascript для разделения строк и доступа к значениям массива? - PullRequest
2 голосов
/ 24 ноября 2011

Я пытался выполнить разделение, но пока что не добился успеха.

Вот что у меня есть:

Я инициализирую простую строку:

var str = "matt.williams:STRING:ClassWork|1902122:STRING:AskAFriend";

Мой следующий шаг - вывести значения массива:

var m = str.split("|");
var x = new Array();
x=m;

for (z in x)
{
    document.write(z + "<br />");
}

Однако он выдает следующее:

0
1

Но я хочу вывестиэто:

matt.williams:STRING:ClassWork
1902122:STRING:AskAFriend

Ответы [ 4 ]

5 голосов
/ 24 ноября 2011

Измените эту строку:

document.write(z + "<br />");

на

document.write(x[z] + "<br />");
2 голосов
/ 24 ноября 2011

Вам не нужно устанавливать так много переменных. Вы можете разбить и перебрать полученный массив.

str.split("|").forEach(function(i){ document.write(i+"<br />"); });
2 голосов
/ 24 ноября 2011

Ваш цикл for дает вам индексы вашего массива, а не фактические значения. Измените его на:

for (z in x)
{
    document.write(x[z] + "<br />");
}

Или просто используйте старомодный цикл:

for(var i = 0; i < x.length; i++)
{
    document.write(x[i] + "<br />");
}
0 голосов
/ 24 ноября 2011

Оба эти ответа верны, я просто хотел добавить, что split() возвращает массив, поэтому вам не нужно добавлять другой.

var str = "matt.williams:STRING:ClassWork|1902122:STRING:AskAFriend";
var m = str.split("|");

for (z in m) {
    document.write(m[z] + "<br />");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...