【问题标题】:Splitting String into an Array from Function将字符串从函数拆分为数组
【发布时间】:2017-09-19 03:38:32
【问题描述】:

我找到了一种按照How do I split a string, breaking at a particular character? 将字符串拆分为数组的方法。不幸的是,从函数中获取字符串时,这似乎不起作用。

在其中,字符串是由一个变量组成的。

var input = 'John Smith~123 Street',
    array = input.split(/~/);

这将使array[0] = 'John Smith'array[1] = '123 Street'

当我尝试使用函数中的变量进行此操作时,它不起作用,如下所示。

<input type=button onclick="fn('John Smith~123 Street')" value=clickme>

function fn(stringval)
    {
        var array = stringval.split(/~/);
    }

有谁知道为什么会发生这种情况以及如何摆脱它?我试着去var input = stringval;,但那没有用。如果你回答,我可以使用 jQuery 或 Javascript。

谢谢!

编辑:

这正是它正在做的事情:

<h2 class=opt onclick="tree('Basic Formatting',1,'#html~HTML');">

function tree(i,j,k)
    {
    var a = k.split(/~/);
    if (j==1)
        {
            $('#path').html('<span onclick="pageLoad(\'.lang\')">Home</span> > '+'<span onclick="pageLoad(\''+a[0]+'\')">'+a[1]+'</span> > '+i);}
        }

我正在尝试导致:

<div id=path>
    <span onclick="pageLoad(\'.lang\')">Home</span>
    >
    <span onclick="pageLoad(\'#html\')">HTML</span>
    > Basic Formatting
</div>

【问题讨论】:

  • 您的函数在赋值后没有使用或返回 array 变量 - 这就是问题所在,而不是 .split()
  • jsfiddle.net/7eq98who 的函数内部工作正常。如当前所示,您不会对该变量执行任何操作。你想让函数做什么
  • 是的,但是您想对结果数组做什么?在显示的代码中,您根本不使用结果。请edit您的问题解释所需的结果是什么。
  • 这是一个 XY Problem 。您需要在更高层次上准确解释您要完成的工作
  • 更新问题中的代码有效:jsfiddle.net/0p2ukvnb - 假设您已包含 jQuery.js。如果它对 不起作用,那么也许你没有正确包含你的&lt;script&gt; 或其他东西。请检查您的浏览器控制台是否有错误。

标签: javascript jquery html arrays string


【解决方案1】:

所有这些努力,然后我自己解决了。

function fn(i,j,k)
    {
        var input = String(k),
            a = input.split(/~/);
    }

【讨论】:

  • 不,因为您的问题更新中的代码按原样工作。 k 已经是一个字符串。
  • k 已经是一个字符串...如 nnnnn 演示中所示,您更新问题的代码已经有效。你的问题一定是别的。强烈建议使用控制台检查错误并在以后的问题中报告。你可能有一个被扔到某个地方
猜你喜欢
  • 2016-04-01
  • 2012-02-22
  • 2012-12-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多