ประเภทแรก:
คัดลอกรหัสรหัสดังต่อไปนี้:
ฟังก์ชั่นเฉพาะ (arr){
var obj = {}, newArr = [];
สำหรับ (var i = 0;i < arr.length;i++){
ค่า var = arr[i];
ถ้า(!obj[ค่า]){
obj[ค่า] = 1;
newArr.push(ค่า);
-
-
กลับ newArr;
-
เมธอดนี้เก็บค่าของอาร์เรย์ไว้ในออบเจ็กต์ ดังนั้นเมื่อมีอาร์เรย์เป็นสมาชิกออบเจ็กต์ การดำเนินการจึงล้มเหลว (ออบเจ็กต์ที่เป็นคีย์ของออบเจ็กต์จะถูกแปลงเป็นสตริง)
วิธีที่สอง:
คัดลอกรหัสรหัสดังต่อไปนี้:
ฟังก์ชั่นเฉพาะ (arr){
สำหรับ (var i = 0;i < arr.length;i++){
สำหรับ (var j = i+1;j < arr.length;j++){
ถ้า(arr[i] === arr[j]){
arr.ประกบ(j,1);
เจ--}
-
-
กลับถึง;
-
วิธีการนี้ได้รับการสนับสนุนแม้ว่าอาร์เรย์ขาเข้าจะมีวัตถุก็ตาม โปรดทราบว่า '===' แต่การใช้ลูปแบบซ้อน ประสิทธิภาพจะแย่กว่าวิธีแรก