我有一个这样的字符串,Fy 2002.car.state
。
我需要根据值拆分这个值,如果值是0
我需要分别像“Fy 2002”,“car”,“state”分开。如果值是1
,我需要拆分像这样的“Fy 2002.car”,“state”。
如何在不使用for循环的情况下实现此目的?感谢。
答案 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)
我对这个问题的解释
.
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;
答案 2 :(得分:0)