2013-06-13 13 views
1

Я пытаюсь преобразовать этот массив в строку, но он дает мне ошибку:Преобразовать массив (объект?) В строку в JavaScript

Object [object Array] has no method 'split'

Я преобразование в строку, так что не должны» У меня есть эта проблема, я не уверен, почему я получаю эту ошибку.

Мой код:

function preSubmit(){ 
    var optionTexts = []; 
    $("section").each(function(){ 
     var h2 = $(this).find("h2").text(); 
     optionTexts.push(h2); 
     $("ol li", this).each(function() { optionTexts.push($(this).text()); }); 
    }); 
    var optionTextString = optionTexts.toString(); 
    var splitText = optionTextString.split(","); 
    console.log(splitText); 
    return splitText; 
} 

Возвращается значение typeof splitText дает мне [массив объектов], но я ожидаю string.

+2

Если вы хотите строку и у вас есть строка, почему вы разделив его обратно в массив? Это то, что делает «split». – Ryan

+1

Хотя вы, безусловно, можете преобразовать массив в строку (действительно зависит от ее значений), возникает вопрос: почему? –

+0

Мне нужно заменить новую строку, считая, что строка является самым простым способом. оттуда я могу просто использовать метод замены, я думаю? – Lukasz

ответ

1

И это правда, массив не имеет никакого метода разделения. Вы объединяете методы Join и Split, один из них относится к массиву, другой - к строковым функциям.

Что вы хотите:

var splitText = optionTextString.join(","); 
+0

ах, дох. Ты прав. Я вижу сейчас. – Lukasz

+0

'optionTextString' должен быть' optionText'. –

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