Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

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

  1. Javascriptで配列を空にする方法

    JavaScriptで配列をクリア/空にする方法は複数あります。コンテキストに基づいてそれらを使用する必要があります。それぞれを見てみましょう。 -として定義された配列があると仮定します let arr = [1, 'test', {}, 123.43]; 新しい配列に置き換える- arr = []; これが最速の方法です。これにより、arrが新しい配列に設定されます。これは、他の場所から元のarrへの参照がない場合に最適です。そうした場合、それらの参照は更新されず、それらの場所は引き続き古い配列を使用します。 長さプロップを0に設定- arr.length = 0 これに

  2. JavaScriptの基本的な配列メソッド

    いくつかの基本的なJavaScript配列メソッドは次のとおりです- メソッド 説明 Array.push() 配列の最後に要素を追加します。 Array.pop() 配列の最後から要素を削除します。 Array.unshift() 配列の先頭に要素を追加するには Array.shift() 配列の前面から要素を削除します。 Array.splice() スプライスに要素を追加または削除するには 以下は、基本的な配列メソッドのコードです- 例 <!DOCTYPE html> <html lang="en