如何将数组的一部分转移到另一个? Javascript
我一直试图将spl[i]
转移到spp[k]
,如果它有(
。不过,我得到:如何将数组的一部分转移到另一个? Javascript
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);
我要属为[ '(Windows NT的10.0; Win64上,X64)', '(KHTML &像壁虎)'] 注意&是一个临时的逗号作为的ToString使用逗号。
定义数组作为
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']
')的字符串,我认为这只是我的例子中的一个错误,因为我已经测试过了,他们的spl是一个数组,我只是忘记了数组需要[]'我也是js的新手 –
如果我得到你,你只是想绕到pharenthesis如果没有的arent任何:
console.log(
["a", "b", "(c)"].map(el => el.substr(0, 1) === "(" ? el : "(" + el + ")")
)
//["(a)","(b)","(c)"]
请注意编辑器中的''图标,你可以把* HTML/CSS/JS *代码放到可执行文件中 – Rajesh
@Rajesh我不能。片段不能在移动设备上使用*,我会在他们实施它时做,但我不会切换到我的电脑只是为了在任何地方添加片段... –
显然,来自先前值的字符串不是分裂的。为了避免错误,你不应该使用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;
}
你的第一个代码是不正确的。 'spl'不是数组 – Weedoze
是的,我忘记了这一点;但是,它在修复后仍然不起作用,如片段中所示。 –
@Zekrom_Vale你的第一个片段工作正常:[JSFiddle](https://jsfiddle.net/agmsovmx/)。对于代码片段2,我建议使用更小的函数来使代码更具可重用性 – Rajesh