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

JavaScriptで他の2つに基づいてオブジェクトを作成する


このように定義された2つのJavaScriptオブジェクトがあるとします-

const a = {
   a: 1,
   af: function() { console.log(this.a) },
};
const b = {
   b: 2,
   bf: function() { console.log(this.b) },
};

このような2つのオブジェクトを取り込むJavaScript関数を作成する必要があります。次のように、aとbのプロパティを取得する別のオブジェクトを作成します-

const output = {
   a: 1,
   af: function() { console.log(this.a) },
   b: 2,
   bf: function() { console.log(this.b) },
}

aとbは同じままである必要があることに注意してください。

このためのコードは-

になります
const a = {
   a: 1,
   af: function() { console.log(this.a) },
};
const b = {
   b: 2,
   bf: function() { console.log(this.b) },
};
const extend = function(){
   let i, j, x, res=(arguments[0] || {});
   for (i = 1; i < arguments.length; i++) {
      const x = arguments[i];
      for (j in x) {
         if (x.hasOwnProperty(j)) {
            res[j] = x[j];
         }
      }
   }
   return res;
};
const c = extend({}, a, b);
console.log(c);

出力

そして、コンソールの出力は-

になります
{ a: 1, af: [Function: af], b: 2, bf: [Function: bf] }

  1. JavaScriptのオブジェクト初期化子

    オブジェクト初期化子は、新しく作成されたオブジェクトを初期化できるようにする式です。これは、プロパティ名の0個以上のペアと、中括弧{}で囲まれたオブジェクトの関連する値のコンマ区切りのリストです。 以下は、JavaScriptのオブジェクト初期化子のコードです。 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=d

  2. 多次元JavaScriptオブジェクトを作成するにはどうすればよいですか?

    以下は、多次元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> &n