我一直试图将spl[i]
转移到spp[k]
,如果它有(
。但是,我得到了:
Cannot set property 'k' of undefined
我是否可以将spp[i]
设置为spl[i]?
注意:该代码段只会登录控制台。
var spl= ['Mozilla/5.0 ','(Windows NT 10.0; Win64; X64)',' AppleWebKit/537.36 ','(KHTML& Like Gecko)',' Chrome/58.0.3029.96 Safari/537.36']
var spp= [a,b];
var l= 0, k= 0;
while(typeof spl[l]== 'string'){
if (spl[l].includes('(')){
spp[k]=spl[l];
++k;
}
++l;
}
console.log('spp='+spp);
我希望spp成为['(Windows NT 10.0; Win64; X64)','(KHTML& Like Gecko)'] 请注意&是一个临时逗号,因为.toString使用逗号。
答案 0 :(得分:1)
将数组定义为
var spl= ['Mozilla/5.0 ','(Windows NT 10.0; Win64; X64)',' AppleWebKit/537.36 ','(KHTML& Like Gecko)',' Chrome/58.0.3029.96 Safari/537.36']
答案 1 :(得分:0)
如果我找到你,你只想在没有任何东西的情况下包裹噬体:
console.log(
["a", "b", "(c)"].map(el => el.substr(0, 1) === "(" ? el : "(" + el + ")")
)
//["(a)","(b)","(c)"]
答案 2 :(得分:0)
显然,前一个值的字符串没有拆分。为避免错误,您不应使用string.split('chr')
代替string= string.split('chr')
spl= spl.toString();
//console.log(spl);
spl= spl.split(",");
var spp= ['a','b'];
var l= 0, k= 0;
while(typeof spl[l]== 'string'){
if (spl[l].includes('(')=== true){
spp[k]= spl[l];
spl[l]= "()";
++k;
}
++l;
}