[英]Javascript remove empty items from sides of an array
這正是我的意思,但在 Javascript: PHP 從數組的兩側刪除空項目
我正在尋找最干凈的方法。 我想知道是否有比手動循環數組更好的方法。
這里有一個例子:
const fullArray = new Array(10); fullArray[3] = 1; fullArray[5] = 1; fullArray[7] = 1; console.log('Input:', fullArray); const trimedArray = new Array(4); trimedArray[0] = 1; trimedArray[2] = 1; trimedArray[4] = 1; console.log('Output:', trimedArray);
如果您采用數組的鍵(僅采用數組上存在的屬性 - 在您的示例中它不會采用稀疏索引,例如 0 到 2、4、6 或 8),您可以調用Math.min
和他們的Math.max
:
const fullArray = new Array(10); fullArray[3] = 1; fullArray[5] = 1; fullArray[7] = 1; const keys = Object.keys(fullArray); const min = Math.min(...keys); const max = Math.max(...keys); const result = fullArray.slice(min, max + 1); console.log(result);
另一種選擇,只取鍵數組的末端:
const fullArray = new Array(10); fullArray[3] = 1; fullArray[5] = 1; fullArray[7] = 1; const keys = Object.keys(fullArray); const min = keys[0]; const max = keys[keys.length - 1]; const result = fullArray.slice(min, Number(max) + 1); console.log(result);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.