Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 需要根据jquery中给定的数值拆分字符串_Javascript_Jquery_Loops_Split - Fatal编程技术网

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

Javascript 需要根据jquery中给定的数值拆分字符串,javascript,jquery,loops,split,Javascript,Jquery,Loops,Split,我有这样一个字符串,2002财年.car.state 我需要根据值进行拆分,如果值为0我需要分别拆分为“Fy 2002”、“car”、“state”。如果值为1,我需要拆分为“Fy 2002.car”、“state” 如何在不使用for循环的情况下实现这一点?谢谢。首先使用拆分创建阵列。 然后使用接头切断阵列。 最后,使用join连接切割的项目并将其放入数组中 function mysplit(str, index){ var a = str.split('.') if(index){

我有这样一个字符串,
2002财年.car.state

我需要根据值进行拆分,如果值为
0
我需要分别拆分为“Fy 2002”、“car”、“state”。如果值为
1
,我需要拆分为“Fy 2002.car”、“state”


如何在不使用for循环的情况下实现这一点?谢谢。

首先使用拆分创建阵列。
然后使用接头切断阵列。
最后,使用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
}
函数mysplit2(str,index){ 变量a=str.split('.')) 如果(索引){ a=a.reduce(函数(p,c,i){ p、 推动(c)
返回(i您可以使用
split

var str="Fy 2002.car.state";
var result= str.split('.');

我对这个问题的解释

  • 拆线
  • 使用
var str=“Fy 2002.car.state”,
a=str.split('.');
功能拆分(a,索引){
如果(索引){
a[0]+='.'.+a.splice(1,索引).join('.');
}			
document.write(''+index++''+JSON.stringify(a,0,4)+'');
}
分割(a.切片(0),0);
分割(a.切片(0),1);

split(a.slice(0),2);
是否可能
index=2
?如果是,结果应该是什么样的?很难理解您的期望是什么,因为您的需求中没有渐进的流程。您只有空格和点分开吗?什么“索引”?这里的数据结构是什么?我有一个字符串“Fy 2002.car.state”,如果我用“.”拆分,它将像[“Fy 2002”,“car”,“state”]一样拆分。如果数组索引为0,它表示“Fy 2002”,如果1表示,我需要字符串“Fy 2002.car”,因为2将像“Fy 2002.car.state”“这个等等……@ozil让OP来决定,你不觉得吗?我认为给出完整的答案更合适是的。我正期待着。逻辑对我有用。