所以我有这个类似的数组:
var arr = ['Green','Red','Silver','|','blue','Yellow']
数组将始终将字符|
分开,但数组中的值将随机增加。
我想将|
两侧的所有值分成两个单独的数组。
例如,我希望上面的代码输出为:
['Green','Red','Silver']
['blue','Yellow']
答案 0 :(得分:4)
var arr = ['Green','Red','Silver','|','blue','Yellow']
var split1 = arr.slice(0, arr.indexOf("|"));
var split2 = arr.slice(arr.indexOf("|")+1);
答案 1 :(得分:1)
此代码能够处理两个以上的分隔符。
function splitArr(arr){
var tmp = arr.join("|").split("||");
var result = [];
for(var i = 0; i < tmp.length;i++){
result.push(tmp[i].split("|").filter(function(e){
return e;
}));
}
return result;
}
工作演示
var arr = ['Green','Red','Silver','|','blue','Yellow','|', 'some cool color we do not know about', 'another awesome color'];
function splitArr(arr){
var tmp = arr.join("|").split("||");
var result = [];
for(var i = 0; i < tmp.length;i++){
result.push(tmp[i].split("|").filter(function(e){
return e;
}));
}
return result;
}
var newArr = splitArr(arr);
for(var x = 0; x < newArr.length; x++){
document.write(newArr[x]);
document.write("<br/>");
}