2017-05-08 48 views
0

我有两个数组,其中一个完整的链接和另一个域应从第一个数组中删除。在一个循环中的推方法导致数组内部的数组

array1 = [ http://www.linkone.com, https://www.linktwo.com, ... ] 
array2 = [ 'linkone' ] 

第二个数组没有一个网址的格式,我做这样做如下:

for (let a2 of array2) { 
    clearedUrls.push(_.pull(array1, `https?:\/\/www.${a2}.*`)) 
} 

它的工作,但clearedUrls输出包含数组的数组里面:

[ 
    'https://www.foo.com', 
    'https://www.foo.com', 
    'https://www.foo.com', 
    'https://www.foo.com', 
    [ 
    'https://www.foo.com', 
    'https://www.foo.com', 
    'https://www.foo.com', 
    ], 
    [ ... ] 
] 

我知道这是因为每一次迭代它将会push。我想知道一个更好的方法来循环通过array2,从array删除网址,并返回数组只有链接里面,没有更多的数组。

回答

3

您应该使用concat而不是push

clearedUrls = clearedUrls.concat(_.pull(array1, `https?:\/\/www.${a2}.*`))