繁体   English   中英

如何从嵌套数组中删除空元素

[英]How to remove empty elements from nested arrays

我有以下名为parsedAutor数组,我需要从嵌套数组中删除空元素。

[
  ['John Doe', '', 'CPF 000.000.000-00'],
  ['30/05/2018 - Vara de Delitos de Roubo e Extorsão'],
  ['John Doe', '', 'CPF 000.000.000-00'],
  ['29/02/2016 - 1ª Vara Criminal'],
  ['John Doe', '', 'CPF 000.000.000-00'],
  ['18/02/2016 - 3º Juizado Especial Cível'],
  ['John Doe', '', 'CPF 000.000.000-00'],
  ['18/02/2016 - 3º Juizado Especial Cível']
]

我该如何做到? 我一直在尝试映射元素然后过滤它们,但它不起作用,我认为我做错了。

这就是我一直在尝试做的事情。

const autor = $('div[class="espacamentoLinhas"]').toArray();

let parsedAutor = autor.map((x) => x.children[2].data.trim());

console.log(parsedAutor);

parsedAutor = parsedAutor.map((x) => x.split('\n').map((y) => y.trim()));

console.log(parsedAutor);

// note that the code above is just to get the context from where I taking the values,  please focus on the code below

const filteredAutor = parsedAutor.map((x) => {
  x.filter((y) => y !== '');
});

console.log(filteredAutor);

但它返回了八个undefined值,我做错了什么?

提前致谢。

你的代码几乎是正确的! 您需要返回 x 上的过滤器,或缩短它。

const filteredAutor = parsedAutor.map((x) => x.filter((y) => y !== ''));

或者

const filteredAutor = parsedAutor.map((x) => {
    return x.filter((y) => y !== '');
});

您需要返回 x 上的过滤器,或缩短它。 通过使用 return 语句或删除大括号使其成为表达式箭头函数,从 map() 回调中返回一个值。

const filteredAutor = parsedAutor.map((x) => x.filter((y) => y !== ''));

或者

const filteredAutor = parsedAutor.map((x) => {
    return x.filter((y) => y !== '');
});

您需要从map()回调中返回一个值,方法是使用return语句或删除大括号以使其成为表达式箭头函数。

您需要从map return值。

const filteredAutor = parsedAutor.map((x) => {
   return x.filter((y) => y !== '');
});

否则就做

const filteredAutor = parsedAutor.map(x => x.filter(y => y !== ''));

可能是这个?

 let myDoubleArray = [ [ 'Gladson de Lima Cameli', '', 'CPF 434.611.072-04' ] , [ '30/05/2018 - Vara de Delitos de Roubo e Extorsão' ] , [ 'Gladson de Lima Cameli', '', 'CPF 434.611.072-04' ] , [ '29/02/2016 - 1ª Vara Criminal' ] , [ 'Gladson de Lima Cameli', '', 'CPF 434.611.072-04' ] , [ '18/02/2016 - 3º Juizado Especial Cível' ] , [ 'Gladson de Lima Cameli', '', 'CPF 434.611.072-04' ] , [ '18/02/2016 - 3º Juizado Especial Cível' ] ] // remove empty elements for (let inArr of myDoubleArray) { for(let i = inArr.length;i--;) { if (inArr[i]==='') inArr.splice(i,1) } } console.log(myDoubleArray)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM