簡體   English   中英

從數組數組中刪除數組

[英]Remove an array from an array of arrays

我對 Javascript 完全陌生。 我正在處理來自業務數據庫的數據,我想從數組數組中刪除一個數組。

我有這個數組數組:

var results = [ [#null, null], ['miglioramento', 30], ['correttiva',45] ];

我想從結果中刪除第一個數組:[#null, null] 因為我想實現這個數組:

results = [ ['miglioramento', 30], ['correttiva',45] ];

我怎樣才能做到這一點?

我真的提前謝謝你!

假設數組的第一個條目是[null, null]而不是[#null, null] 通過這種方式,您可以過濾所有僅包含null作為條目的空數組。

results.filter((arr) => arr.filter((entry) => entry !== null).length);

您可以使用slice功能: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice

const array = [0, 1, 2, 3]
const slicedArray = array.slice(1)
console.log(slicedArray)
// print : [1, 2, 3]

對於只有兩個元素的內部數組,您可以使用.filter()解構元素以檢查元素之一是否不等於null 如果是這種情況,您的過濾器謂詞將返回true ,這將保留內部數組。

 const data = [[null, null], ['miglioramento', 30], ['correttiva',45]]; const res = data.filter(([e1, e2]) => e1 !== null || e2 !== null); console.log(res);

如果您的內部數組可以有兩個以上的元素,您可以使用.some()來確保內部數組中的某些元素不為null 如果.some()的謂詞對於內部數組中的任何元素都為真,則.some()的返回值也將為true ,這將使過濾器將內部數組保留為最終結果的一部分。

 const data = [[null, null], ['miglioramento', 30], ['correttiva',45]]; const res = data.filter( inner => inner.some(elem => elem !== null) ); console.log(res);

創建一個函數來檢查 arry 是否全為空,然后在過濾器函數中調用它。

 var results = [ [null, null], ['miglioramento', 30], ['correttiva', 45] ]; const checkNull = arr => arr.every(el => el != null); const res = results.filter(el => checkNull(el)); console.log(res);

 var results = [ [null, null], ['miglioramento', 30], ['correttiva',45] ] results.shift() console.log(results)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM