JavaScriptですでにリストされている間隔を削除する
問題
最初で唯一の引数として2次元配列arrを取り込むJavaScript関数。
入力配列の各サブ配列は、時間間隔を指定する正確に2つの数値の配列です。
この関数は、配列arrの別の間隔でカバーされているすべての間隔を削除する必要があります。区間[a、b)は、c<=aおよびb<=dの場合に限り、区間[c、d)でカバーされます。この関数は、最終的に配列の残りの間隔の数を返す必要があります。
たとえば、関数への入力が-
の場合const arr = [ [2, 5], [5, 7], [3, 9] ];
その場合、出力は-
になります。const output = 2;
出力の説明:
間隔[5、7]は[3、9]でカバーされているため、削除されます。
例
このためのコードは-
になりますconst arr = [ [2, 5], [5, 7], [3, 9] ]; const removeCovered = (arr = []) => { arr.sort(([a, b], [c, d]) => (a === c ? d - b : a - c)); let last = arr[0]; let count = arr.length; for(let i = 1; i < arr.length; i++){ const [a, b] = last; const [c, d] = arr[i]; if(c >= a && d <= b){ count -= 1; }else{ last = arr[i]; }; }; return count; }; console.log(removeCovered(arr));
出力
そして、コンソールの出力は-
になります2
-
Javascriptで配列を空にする方法
JavaScriptで配列をクリア/空にする方法は複数あります。コンテキストに基づいてそれらを使用する必要があります。それぞれを見てみましょう。 -として定義された配列があると仮定します let arr = [1, 'test', {}, 123.43]; 新しい配列に置き換える- arr = []; これが最速の方法です。これにより、arrが新しい配列に設定されます。これは、他の場所から元のarrへの参照がない場合に最適です。そうした場合、それらの参照は更新されず、それらの場所は引き続き古い配列を使用します。 長さプロップを0に設定- arr.length = 0 これに
-
JavaScriptの基本的な配列メソッド
いくつかの基本的なJavaScript配列メソッドは次のとおりです- メソッド 説明 Array.push() 配列の最後に要素を追加します。 Array.pop() 配列の最後から要素を削除します。 Array.unshift() 配列の先頭に要素を追加するには Array.shift() 配列の前面から要素を削除します。 Array.splice() スプライスに要素を追加または削除するには 以下は、基本的な配列メソッドのコードです- 例 <!DOCTYPE html> <html lang="en