遞迴取出字串

by Shang-De You

JavaScript

//找出所有{}中的字串
var str = "ab{cd}ef{ga}bc"

var result = returnParamArr(str);

document.write(result.join(",")) //印出cd,ga

function returnParamArr(str){
	var paramArr = [];
	var index = 0;
  findParam(str,index);
  function findParam(str,index){
  	var left = str.indexOf("{",index)
    var right = str.indexOf("}",index)
    if(left!=-1 && right!=-1){
    	var param = str.slice(left+1,right);
    	paramArr.push(param);
    	index = right + 1;
      findParam(str,index);
    }else{
    	return paramArr;
    }
  }
  
  return paramArr;
}