static methods
Array.from()
แปลงค่า-like array หรือ iterable object ให้กลายเป็น array ใหม่
const arrayLike = { 0: 'a', 1: 'b', 2: 'c', length: 3 };
const array = Array.from(arrayLike);
console.log(array); // ['a', 'b', 'c']
Array.fromAsync()
สร้าง array ใหม่จากค่า async iterable หรือ array-like object แบบ async
async function* asyncGenerator() {
yield 'a';
yield 'b';
yield 'c';
}
const array = await Array.fromAsync(asyncGenerator());
console.log(array); // ['a', 'b', 'c']
Array.isArray()
ตรวจสอบว่า value นั้นเป็น array หรือไม่
const arr = [1, 2, 3];
console.log(Array.isArray(arr)); // true
const notArr = 'not an array';
console.log(Array.isArray(notArr)); // false
Array.of()
สร้าง array ใหม่จาก arguments ที่ส่งเข้าไป
const arr = Array.of(1, 2, 3);
console.log(arr); // [1, 2, 3]
const arr2 = Array.of('a', 'b', 'c');
console.log(arr2); // ['a', 'b', 'c']
static properties
Array.prototype.at()
เข้าถึง element ใน array โดยใช้ index ที่ระบุ (รวมถึง index ลบ)
const arr = [10, 20, 30, 40];
console.log(arr.at(1)); // 20
console.log(arr.at(-1)); // 40
Array.prototype.concat()
รวม arrays หลายๆ อันเข้าด้วยกัน
const arr1 = [1, 2];
const arr2 = [3, 4];
const combined = arr1.concat(arr2);
console.log(combined); // [1, 2, 3, 4]
Array.prototype.copyWithin()
คัดลอกส่วนหนึ่งของ array ไปวางทับในตำแหน่งอื่นภายใน array เดียวกัน
const arr = [1, 2, 3, 4, 5];
arr.copyWithin(0, 3);
console.log(arr); // [4, 5, 3, 4, 5]
Array.prototype.entries()
คืนค่า iterator object ที่มี key/value pairs สำหรับแต่ละ index ใน array
const arr = ['a', 'b', 'c'];
const iterator = arr.entries();
for (let [index, value] of iterator) {
console.log(index, value); // 0 'a', 1 'b', 2 'c'
}
Array.prototype.every()
ตรวจสอบว่า element ทุกตัวใน array ผ่านเงื่อนไขที่ระบุหรือไม่
const arr = [1, 2, 3, 4];
const allPositive = arr.every(num => num > 0);
console.log(allPositive); // true
Array.prototype.fill()
เติมค่าลงใน array ตั้งแต่ index ที่ระบุจนถึงค่าที่กำหนด
const arr = [1, 2, 3, 4];
arr.fill(0, 1, 3);
console.log(arr); // [1, 0, 0, 4]
Array.prototype.filter()
สร้าง array ใหม่ที่ประกอบด้วย element ที่ผ่านเงื่อนไขที่ระบุ
const arr = [1, 2, 3, 4];
const even = arr.filter(num => num % 2 === 0);
console.log(even); // [2, 4]
Array.prototype.find()
คืนค่า element แรกที่ตรงกับเงื่อนไขที่ระบุ
const arr = [1, 2, 3, 4];
const found = arr.find(num => num > 2);
console.log(found); // 3
Array.prototype.findIndex()
คืนค่า index ของ element แรกที่ตรงกับเงื่อนไขที่ระบุ
const arr = [1, 2, 3, 4];
const index = arr.findIndex(num => num > 2);
console.log(index); // 2
Array.prototype.findLast()
คืนค่า element สุดท้ายที่ตรงกับเงื่อนไขที่ระบุ
const arr = [1, 2, 3, 4];
const found = arr.findLast(num => num > 2);
console.log(found); // 4
Array.prototype.findLastIndex()
คืนค่า index ของ element สุดท้ายที่ตรงกับเงื่อนไขที่ระบุ
const arr = [1, 2, 3, 4];
const index = arr.findLastIndex(num => num > 2);
console.log(index); // 3
Array.prototype.flat()
แปลง array ที่มี nested array ให้กลายเป็น array แบน
const arr = [1, [2, [3, [4]]]];
const flattened = arr.flat(2);
console.log(flattened); // [1, 2, 3, [4]]
Array.prototype.flatMap()
ใช้ map และ flat ไปพร้อมกัน
const arr = [1, 2, 3];
const mapped = arr.flatMap(num => [num, num * 2]);
console.log(mapped); // [1, 2, 2, 4, 3, 6]
Array.prototype.forEach()
เรียกใช้ function สำหรับแต่ละ element ใน array
const arr = [1, 2, 3];
arr.forEach(num => console.log(num * 2)); // 2, 4, 6
Array.prototype.includes()
ตรวจสอบว่า array มีค่า element ที่ระบุหรือไม่
const arr = [1, 2, 3];
console.log(arr.includes(2)); // true
console.log(arr.includes(4)); // false
Array.prototype.indexOf()
คืนค่า index แรกของ element ที่ตรงกับเงื่อนไขที่ระบุ
const arr = [1, 2, 3, 2];
console.log(arr.indexOf(2)); // 1
Array.prototype.join()
รวม element ใน array เป็น string โดยมี separator
const arr = ['a', 'b', 'c'];
const joined = arr.join('-');
console.log(joined); // 'a-b-c'
Array.prototype.keys()
คืนค่า iterator object ที่มี key (index) ของแต่ละ element ใน array
const arr = ['a', 'b', 'c'];
const iterator = arr.keys();
for (let key of iterator) {
console.log(key); // 0, 1, 2
}
Array.prototype.lastIndexOf()
คืนค่า index สุดท้ายของ element ที่ตรงกับเงื่อนไขที่ระบุ
const arr = [1, 2, 3, 2];
console.log(arr.lastIndexOf(2)); // 3
Array.prototype.map()
สร้าง array ใหม่ที่มี element เป็นผลลัพธ์ของ function ที่ระบุ
const arr = [1, 2, 3];
const doubled = arr.map(num => num * 2);
console.log(doubled); // [2, 4, 6]
Array.prototype.pop()
ลบ element สุดท้ายออกจาก array และคืนค่าที่ถูกลบ
const arr = [1, 2, 3];
const last = arr.pop();
console.log(arr); // [1, 2]
console.log(last); // 3
Array.prototype.push()
เพิ่ม element ใหม่เข้าไปที่ท้าย array
const arr = [1, 2];
arr.push(3);
console.log(arr); // [1, 2, 3]
Array.prototype.reduce()
รวมค่า element ใน array ให้กลายเป็นค่าหนึ่งค่าโดยใช้ function ที่ระบุ
const arr = [1, 2, 3, 4];
const sum = arr.reduce((acc, num) => acc + num, 0);
console.log(sum); // 10
Array.prototype.reduceRight()
รวมค่า element ใน array โดยเริ่มจากขวาไปซ้ายด้วย function ที่ระบุ
const arr = [1, 2, 3, 4];
const sum = arr.reduceRight((acc, num) => acc + num, 0);
console.log(sum); // 10
Array.prototype.reverse()
สลับลำดับ element ใน array จากท้ายมาอยู่ต้น
const arr = [1, 2, 3];
arr.reverse();
console.log(arr); // [3, 2, 1]
Array.prototype.shift()
ลบ element แรกออกจาก array และคืนค่าที่ถูกลบ
const arr = [1, 2, 3];
const first = arr.shift();
console.log(arr); // [2, 3]
console.log(first); // 1
Array.prototype.slice()
สร้าง array ใหม่ที่ประกอบด้วย element จากช่วงที่ระบุ
const arr = [1, 2, 3, 4];
const sliced = arr.slice(1, 3);
console.log(sliced); // [2, 3]
Array.prototype.sort()
จัดเรียง element ใน array ตามลำดับที่ระบุ
const arr = [3, 1, 4, 2];
arr.sort((a, b) => a - b);
console.log(arr); // [1, 2, 3, 4]
Array.prototype.splice()
เพิ่ม, ลบ หรือแทนที่ element ใน array
const arr = [1, 2, 3, 4];
arr.splice(2, 1, 'a');
console.log(arr); // [1, 2, 'a', 4]
Array.prototype[Symbol.iterator]
คืนค่า default iterator สำหรับ array
const arr = ['a', 'b', 'c'];
const iterator = arr[Symbol.iterator]();
for (let item of iterator) {
console.log(item); // 'a
', 'b', 'c'
}
Array.prototype.toLocaleString()
แปลง array ให้กลายเป็น string ตามการตั้งค่าภาษาท้องถิ่น
const arr = [1234567.89, 'test'];
const localeString = arr.toLocaleString('de-DE');
console.log(localeString); // '1.234.567,89,test'
Array.prototype.toReversed()
คืนค่า array ใหม่ที่มีลำดับ element สลับจากขวาไปซ้าย
const arr = [1, 2, 3];
const reversed = arr.toReversed();
console.log(reversed); // [3, 2, 1]
Array.prototype.toSorted()
คืนค่า array ใหม่ที่มีลำดับ element เรียงตามที่ระบุ
const arr = [3, 1, 4, 2];
const sorted = arr.toSorted((a, b) => a - b);
console.log(sorted); // [1, 2, 3, 4]
Array.prototype.toSpliced()
คืนค่า array ใหม่ที่มี element ที่ถูกเพิ่ม, ลบ หรือแทนที่
const arr = [1, 2, 3, 4];
const spliced = arr.toSpliced(2, 1, 'a');
console.log(spliced); // [1, 2, 'a', 4]
Array.prototype.toString()
แปลง array ให้กลายเป็น string
const arr = [1, 2, 3];
const str = arr.toString();
console.log(str); // '1,2,3'
Array.prototype.unshift()
เพิ่ม element ใหม่เข้าไปที่ต้น array
const arr = [2, 3];
arr.unshift(1);
console.log(arr); // [1, 2, 3]
Array.prototype.values()
คืนค่า iterator object ที่มีค่า element ใน array
const arr = ['a', 'b', 'c'];
const iterator = arr.values();
for (let value of iterator) {
console.log(value); // 'a', 'b', 'c'
}
Array.prototype.with()
คืนค่า array ใหม่ที่มี element หนึ่งถูกแทนที่ด้วยค่าที่ระบุ
const arr = [1, 2, 3];
const newArr = arr.with(1, 'a');
console.log(newArr); // [1, 'a', 3]