如何从列表中删除不包含特定字符的项目

时间:2020-06-26 04:39:32

标签: javascript node.js

我有一个看起来像这样的列表

/listing/vasita-otomobil-volkswagen-boyasiz-2016-passat-variant-1.6-tdi-dsg-higline-sunroof-hayalet-819608311/detail,#,#,,/listing/vasita-otomobil-volkswagen-boyasiz-2016-passat-variant-1.6-tdi-dsg-higline-sunroof-hayalet-819608311/detail,https://eminefeegehan.sahibinden.com/en/,#,#....

我想删除所有不包含单词清单的内容。我知道一个班轮功能

_.without(arr, '#')

,但是它只删除#并将空项保留在那里。如果要从此处删除该项目,我希望减少列表的长度。此外,使用此功能不会删除包含https:

的项目

3 个答案:

答案 0 :(得分:1)

要从数组中删除多个元素,可以使用具有自己逻辑的过滤器功能。

    files = [ ]
    for dirpath, dirnames, filenames in os.walk(rawdata):
        files.extend ( filenames )
    with mp.Pool( 4 ) as p:
        p.map( process_file , files )

答案 1 :(得分:1)

如果我对您的理解正确,那可能会对您有所帮助。

var arr = ['/listing/vasita-otomobil-volkswagen-boyasiz-2016-passat-variant-1.6-tdi-dsg-higline-sunroof-hayalet-819608311/detail','#','#','','/listing/vasita-otomobil-volkswagen-boyasiz-2016-passat-variant-1.6-tdi-dsg-higline-sunroof-hayalet-819608311/detail','https://eminefeegehan.sahibinden.com/en/'];

var results = arr.filter(function(item){return item.indexOf(/listing/) !== -1});

console.log(results);

答案 2 :(得分:0)

您可以使用数组的splice方法和indexof方法


const array = ['a', 'b', 'c', 'd', 'e', 'f'];

const valueToRemove = 'c'
const index = array.indexOf(valueToRemove);
if (index > -1) {
  array.splice(index, 1);
}

// array = ['a', 'b', 'd', 'e', 'f']
console.log(array);