有關于從陣列中洗掉元素和陣列的優秀 帖子,但我找不到針對這種情況執行此操作的帖子:
如何洗掉包含UUID作為其第一個元素的陣列?
let arr = [
['Log entry ID', '_id'],
['UUID', '_source.uuid'],
['Timestamp', '_source.@timestamp'],
['Description', '_source._desc']
];
uj5u.com熱心網友回復:
您可以按如下方式使用Array.filter()和Array.includes():
let arr = [
['Log entry ID', '_id'],
['UUID', '_source.uuid'],
['Timestamp', '_source.@timestamp'],
['Description', '_source._desc']
];
arr = arr.filter(subarr => !subarr.includes('UUID'));
// Or you can use subarr[0] !== 'UUID' if you want to check only first element
console.log(arr)
uj5u.com熱心網友回復:
如果只想洗掉第一項是 的元素'UUID',可以將過濾條件設定為第一項是否不是'UUID':
let arr = [
['Log entry ID', '_id'],
['UUID', '_source.uuid'],
['Timestamp', '_source.@timestamp'],
['Description', '_source._desc']
];
const res = arr.filter(e => e[0]!='UUID')
console.log(res)
uj5u.com熱心網友回復:
默認情況下,您應該盡可能使用const而不是let,因此filter()不是理想的解決方案。
使用const,您仍然可以使用該splice()方法有效地洗掉所需的陣列元素。
該splice()方法遵循以下語法splice(start, deleteCount, ...items),其中start是開始拼接的索引,deleteCount是您希望從start索引開始洗掉的元素數量,以及items您希望index在洗掉完成后同時注入的任意數量的專案。
洗掉是可選的,0如果您不想洗掉任何元素,可以將其替換,但是對于這個問題,我們將洗掉1元素,并且我們將排除items也是可選的引數,因為我們不想注入任何其他元素.
對于您的任務,我們首先需要找到第一個元素等于 的陣列元素的索引UUID。我們可以這樣使用findIndex():
const index = arr.findIndex(e => e[0] === 'UUID');
接下來,我們可以像這樣splice()使用該index值執行我們的操作:
arr.splice(index, 1); // 1 for deleting a single array element
我們將這兩個步驟合二為一:
arr.splice(arr.findIndex(e => e[0] === 'UUID'), 1);
這是在起作用,包括陣列定義:
const arr = [
['Log entry ID', '_id'],
['UUID', '_source.uuid'],
['Timestamp', '_source.@timestamp'],
['Description', '_source._desc']
];
arr.splice(arr.findIndex(e => e[0] === 'UUID'), 1);
console.log(arr);
uj5u.com熱心網友回復:
@RameshReddy 和 @HarunYilmaz 已經很好地介紹了檢查第一個元素。
檢查第一個元素的另一種方法是:
arr = arr.filter(([first, ...rest]) => first !== 'UUID');
let arr = [
['Log entry ID', '_id'],
['UUID', '_source.uuid'],
['Timestamp', '_source.@timestamp'],
['Description', '_source._desc']
];
arr = arr.filter(([first]) => first !== 'UUID');
console.log(arr);
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/346635.html
標籤:javascript 节点.js 数组 ecmascript-6
