如何将数组的一部分传输到另一个?使用Javascript

时间:2017-05-09 13:25:34

标签: javascript arrays

我一直试图将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使用逗号。

3 个答案:

答案 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)"]

http://jsbin.com/reluveroyi/edit?console

答案 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;
}