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

未定義の値を無視してJavaScriptで2つのオブジェクトをマージします


たとえば、AとBのような2つのオブジェクトがあるとします-

const A = { activity: 'purchased', count: undefined, time: '09:05:33' };
const B = { activity: 'purchased', count: '51', time: undefined };

これらの2つのオブジェクトをマージするJavaScript関数を作成する必要があります。ただし、いずれかのキーに真の値がある場合は、偽の値を持つキーで上書きしないように注意してください。

単にspread演算子を使用してこれを行うと、真理または偽の値を追跡できなくなります。

したがって、反復的なアプローチを使用してこれを行う必要があります。

以下はコードです-

const A = { activity: 'purchased', count: undefined, time: '09:05:33' };
const B = { activity: 'purchased', count: '51', time: undefined };
const mergeObject = (A, B) => {
   let res = {};
   Object.keys({...A,...B}).map(key => {
      res[key] = B[key] || A[key];
   });
   return res;
};
console.log(mergeObject(A, B));

出力

これにより、コンソールに次の出力が生成されます-

{ activity: 'purchased', count: '51', time: '09:05:33' }

  1. JavaScriptで2つのオブジェクトを比較するにはどうすればよいですか?

    オブジェクトは配列や文字列のようなものではありません。したがって、 ===を使用して比較するだけです。 または== 不可能です。ここで比較するには、最初に文字列化する必要があります オブジェクトを作成し、等式演算子を使用します オブジェクトを比較することが可能です。 次の例では、オブジェクトは stringified()でした 最初に、次に互いに比較します。 例 <html> <body>    <script>       const obj1 = {Name: "Rahim", C

  2. 2つのJavaScriptオブジェクトをマージする方法は?

    以下は、2つのJavaScriptオブジェクトをマージするコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> &nbs