[英]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.