Computer >> Máy Tính >  >> Lập trình >> Javascript

Xây dựng ma trận nhận dạng bậc n trong JavaScript

Ma trận nhận dạng

Ma trận nhận dạng là ma trận là ma trận vuông n × n trong đó đường chéo bao gồm các phần tử và các phần tử khác đều là số không.

Ví dụ một ma trận nhận dạng của thứ tự sẽ là -

const arr = [
   [1, 0, 0],
   [0, 1, 0],
   [0, 0, 1]
];

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một số, chẳng hạn như n, và trả về một ma trận nhận dạng có thứ tự n * n.

Ví dụ

Sau đây là mã -

const num = 5;
const constructIdentity = (num = 1) => {
   const res = [];
   for(let i = 0; i < num; i++){
      if(!res[i]){
         res[i] = [];
      };
      for(let j = 0; j < num; j++){
         if(i === j){
            res[i][j] = 1;
         }else{
            res[i][j] = 0;
         };
      };
   };
   return res;
};
console.log(constructIdentity(num));

Đầu ra

Sau đây là kết quả trên bảng điều khiển -

[
   [ 1, 0, 0, 0, 0 ],
   [ 0, 1, 0, 0, 0 ],
   [ 0, 0, 1, 0, 0 ],
   [ 0, 0, 0, 1, 0 ],
   [
      0,
      0,
      0,
      0,
      1
   ]
]