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