diff --git a/solution/2000-2099/2033.Minimum Operations to Make a Uni-Value Grid/README.md b/solution/2000-2099/2033.Minimum Operations to Make a Uni-Value Grid/README.md
index 8b89ac1c47017..999616c5a1702 100644
--- a/solution/2000-2099/2033.Minimum Operations to Make a Uni-Value Grid/README.md	
+++ b/solution/2000-2099/2033.Minimum Operations to Make a Uni-Value Grid/README.md	
@@ -36,7 +36,7 @@ tags:
 <pre>
 <strong>输入:</strong>grid = [[2,4],[6,8]], x = 2
 <strong>输出:</strong>4
-<strong>解释:</strong>可以执行下述操作使所有元素都等于 4 : 
+<strong>解释:</strong>可以执行下述操作使所有元素都等于 4 :
 - 2 加 x 一次。
 - 6 减 x 一次。
 - 8 减 x 两次。
@@ -194,6 +194,44 @@ func abs(x int) int {
 }
 ```
 
+#### TypeScript
+
+```ts
+function minOperations(grid: number[][], x: number): number {
+    const arr = grid.flat(2);
+    arr.sort((a, b) => a - b);
+    const median = arr[Math.floor(arr.length / 2)];
+
+    let res = 0;
+    for (const val of arr) {
+        const c = Math.abs(val - median) / x;
+        if (c !== (c | 0)) return -1;
+        res += c;
+    }
+
+    return res;
+}
+```
+
+#### JavaScript
+
+```js
+function minOperations(grid, x) {
+    const arr = grid.flat(2);
+    arr.sort((a, b) => a - b);
+    const median = arr[Math.floor(arr.length / 2)];
+
+    let res = 0;
+    for (const val of arr) {
+        const c = Math.abs(val - median) / x;
+        if (c !== (c | 0)) return -1;
+        res += c;
+    }
+
+    return res;
+}
+```
+
 <!-- tabs:end -->
 
 <!-- solution:end -->
diff --git a/solution/2000-2099/2033.Minimum Operations to Make a Uni-Value Grid/README_EN.md b/solution/2000-2099/2033.Minimum Operations to Make a Uni-Value Grid/README_EN.md
index 202e609bd8de3..69ac6cc530a98 100644
--- a/solution/2000-2099/2033.Minimum Operations to Make a Uni-Value Grid/README_EN.md	
+++ b/solution/2000-2099/2033.Minimum Operations to Make a Uni-Value Grid/README_EN.md	
@@ -33,7 +33,7 @@ tags:
 <pre>
 <strong>Input:</strong> grid = [[2,4],[6,8]], x = 2
 <strong>Output:</strong> 4
-<strong>Explanation:</strong> We can make every element equal to 4 by doing the following: 
+<strong>Explanation:</strong> We can make every element equal to 4 by doing the following:
 - Add x to 2 once.
 - Subtract x from 6 once.
 - Subtract x from 8 twice.
@@ -186,6 +186,44 @@ func abs(x int) int {
 }
 ```
 
+#### TypeScript
+
+```ts
+function minOperations(grid: number[][], x: number): number {
+    const arr = grid.flat(2);
+    arr.sort((a, b) => a - b);
+    const median = arr[Math.floor(arr.length / 2)];
+
+    let res = 0;
+    for (const val of arr) {
+        const c = Math.abs(val - median) / x;
+        if (c !== (c | 0)) return -1;
+        res += c;
+    }
+
+    return res;
+}
+```
+
+#### JavaScript
+
+```js
+function minOperations(grid, x) {
+    const arr = grid.flat(2);
+    arr.sort((a, b) => a - b);
+    const median = arr[Math.floor(arr.length / 2)];
+
+    let res = 0;
+    for (const val of arr) {
+        const c = Math.abs(val - median) / x;
+        if (c !== (c | 0)) return -1;
+        res += c;
+    }
+
+    return res;
+}
+```
+
 <!-- tabs:end -->
 
 <!-- solution:end -->
diff --git a/solution/2000-2099/2033.Minimum Operations to Make a Uni-Value Grid/Solution.js b/solution/2000-2099/2033.Minimum Operations to Make a Uni-Value Grid/Solution.js
new file mode 100644
index 0000000000000..43d9b37cd033c
--- /dev/null
+++ b/solution/2000-2099/2033.Minimum Operations to Make a Uni-Value Grid/Solution.js	
@@ -0,0 +1,14 @@
+function minOperations(grid, x) {
+    const arr = grid.flat(2);
+    arr.sort((a, b) => a - b);
+    const median = arr[Math.floor(arr.length / 2)];
+
+    let res = 0;
+    for (const val of arr) {
+        const c = Math.abs(val - median) / x;
+        if (c !== (c | 0)) return -1;
+        res += c;
+    }
+
+    return res;
+}
diff --git a/solution/2000-2099/2033.Minimum Operations to Make a Uni-Value Grid/Solution.ts b/solution/2000-2099/2033.Minimum Operations to Make a Uni-Value Grid/Solution.ts
new file mode 100644
index 0000000000000..e470b9bcdb6c9
--- /dev/null
+++ b/solution/2000-2099/2033.Minimum Operations to Make a Uni-Value Grid/Solution.ts	
@@ -0,0 +1,14 @@
+function minOperations(grid: number[][], x: number): number {
+    const arr = grid.flat(2);
+    arr.sort((a, b) => a - b);
+    const median = arr[Math.floor(arr.length / 2)];
+
+    let res = 0;
+    for (const val of arr) {
+        const c = Math.abs(val - median) / x;
+        if (c !== (c | 0)) return -1;
+        res += c;
+    }
+
+    return res;
+}