diff --git a/docs/Leetcode_Solutions/JavaScript/0027._Remove_Element.md b/docs/Leetcode_Solutions/JavaScript/0027._Remove_Element.md
new file mode 100644
index 0000000000000000000000000000000000000000..b0dcfcff84ec02c4af52356a738c63af1b27b686
--- /dev/null
+++ b/docs/Leetcode_Solutions/JavaScript/0027._Remove_Element.md
@@ -0,0 +1,81 @@
+# 027. Remove Element
+
+**难度: Easy**
+
+## 刷题内容
+
+> 原题连接
+
+* https://leetcode.com/problems/remove-element
+
+> 内容描述
+
+Given an array nums and a value val, remove all instances of that value in-place and return the new length.
+
+Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.
+
+The order of elements can be changed. It doesn't matter what you leave beyond the new length.
+
+#### Example 1:
+
+ Given nums = [3,2,2,3], val = 3,
+
+ Your function should return length = 2, with the first two elements of nums being 2.
+
+ It doesn't matter what you leave beyond the returned length.
+
+#### Example 2:
+
+ Given nums = [0,1,2,2,3,0,4,2], val = 2,
+
+ Your function should return length = 5, with the first five elements of nums containing 0, 1, 3, 0, and 4.
+
+ Note that the order of those five elements can be arbitrary.
+
+ It doesn't matter what values are set beyond the returned length.
+
+#### Clarification:
+
+Confused why the returned value is an integer but your answer is an array?
+
+Note that the input array is passed in by reference, which means modification to the input array will be known to the caller as well.
+
+Internally you can think of this:
+
+ // nums is passed in by reference. (i.e., without making a copy)
+ int len = removeElement(nums, val);
+
+ // any modification to nums in your function would be known by the caller.
+ // using the length returned by your function, it prints the first len elements.
+ for (int i = 0; i < len; i++) {
+ print(nums[i]);
+ }
+
+
+## 解题方案
+
+> 思路 1
+******- 时间复杂度: O(N)******- 空间复杂度: O(1)******
+
+保留两个指针 i 和 j,其中 i 是慢指针,j 是快指针。当 nums[j] 与给定的值相等时,递增 j 以跳过该元素。只要 nums[j] !== val,我们就复制 nums[j] 到 nums[i] 并同时递增两个索引。重复这一过程,直到 j 到达数组的末尾,该数组的新长度为 i。
+
+代码:
+
+```javascript
+/**
+ * @param {number[]} nums
+ * @param {number} val
+ * @return {number}
+ */
+var removeElement = function (nums,val) {
+ let j = 0;
+ for(let i = 0,len = nums.length; i