需要根据jquery中给定的数值拆分字符串

时间:2015-08-27 10:53:07

标签: javascript jquery loops split

我有一个这样的字符串,Fy 2002.car.state

我需要根据值拆分这个值,如果值是0我需要分别像“Fy 2002”,“car”,“state”分开。如果值是1,我需要拆分像这样的“Fy 2002.car”,“state”。

如何在不使用for循环的情况下实现此目的?感谢。

3 个答案:

答案 0 :(得分:1)

首先使用split创建数组 然后使用拼接切断阵列 最后使用join连接剪切的项目并将其放入数组中。

function mysplit(str, index){
  var a = str.split('.')
  if(index){
    a[0] += '.' + a.splice(1, index).join('.')
  }
  return a
}

其他可能性是使用reduce功能。

function mysplit2(str, index){
  var a = str.split('.')
  if(index){
    a = a.reduce(function(p, c, i) {
      p.push(c)
      return (i <= index ? [p.join('.')] : p)
    },[])
  }
  return a
}

答案 1 :(得分:1)

我对这个问题的解释

  • 拆分字符串
  • 使用.
  • 加入第一个第n个元素

&#13;
&#13;
var str = "Fy 2002.car.state",
    a = str.split('.');

function split(a, index) {
    if (index) {
        a[0] +=  '.' + a.splice(1, index).join('.');
    }			
    document.write('<pre>' + index + ' ' + JSON.stringify(a, 0, 4) + '</pre>');
}

split(a.slice(0), 0);
split(a.slice(0), 1);
split(a.slice(0), 2);
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您可以使用split

执行此操作
var str="Fy 2002.car.state";
var result= str.split('.');

Fiddle Here