在JavaScript中将字符串转换为数组 - 难以格式化警报

时间:2014-11-10 12:30:01

标签: javascript arrays string

我想将字符串转换为数组并放入它们。我尝试点击按钮#bt_click的事件。它打印一个警报。

示例代码如下:

<script type="text/javascript">
    $(document).ready(function ()
    {

        $("#bt_click").click(function (e)
        {
            e.preventDefault();
            alert(string_to_array('Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec|'));
        });

        function string_to_array(string_text)
        {
            var res = new Array();
            res =   string_text.split("|");
            for (var i = 0; i < res.length; i++)
            {
               return res[i] +  '&nbsp;&nbsp;<br />';
            }
        } 

         });

警报的预期结果:

Jan  Feb  Mar  (line 1)
Apr  May  Jun  (line 2)
Jul  Aug  Sep   (line 3)
Oct  Nov  Dec   (line 4)

如何正确格式化警报。谢谢大家。

2 个答案:

答案 0 :(得分:1)

抱歉,但我没有得到你。你在这里期待什么?

实际上,split函数使用字符创建字符串到数组。

var str="Hello this is array string";

var strArray= str.split(" ");

In your case you can specify different character.

var str="Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec|";

var strArray= str.split("|");

或者您的功能可以进行一些修改。您将只使用旧代码获得第一个元素,因为您将从循环本身返回值。

function string_to_array(string_text)
        {
            var res = "";

            res =   string_text.split("|");

            var formatedStrings="";

            for (var i = 1; i < (res.length)+1; i++)
            {
               formatedStrings=formatedStrings+'&nbsp;&nbsp;';

               if(i%3==0)
               {
                  formatedStrings=formatedStrings+'\n';
               }
            }

            return formatedStrings;
        } 

答案 1 :(得分:0)

我认为这对你有用

    function string_to_array(string_text){
        var res = new Array();
        var result='';
        res =   string_text.split("|");
        for (var i = 0; i < res.length; i++)
        {
           result += res[i];
           result += (i%3===2)?'\n':'  ';
        }
        return result;
    }