Skip to content

static methods

Array.from()

แปลงค่า-like array หรือ iterable object ให้กลายเป็น array ใหม่

js
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

js
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 หรือไม่

js
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 ที่ส่งเข้าไป

js
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 ลบ)

js
const arr = [10, 20, 30, 40];
console.log(arr.at(1));  // 20
console.log(arr.at(-1)); // 40

Array.prototype.concat()

รวม arrays หลายๆ อันเข้าด้วยกัน

js
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 เดียวกัน

js
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

js
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 ผ่านเงื่อนไขที่ระบุหรือไม่

js
const arr = [1, 2, 3, 4];
const allPositive = arr.every(num => num > 0);
console.log(allPositive); // true

Array.prototype.fill()

เติมค่าลงใน array ตั้งแต่ index ที่ระบุจนถึงค่าที่กำหนด

js
const arr = [1, 2, 3, 4];
arr.fill(0, 1, 3);
console.log(arr); // [1, 0, 0, 4]

Array.prototype.filter()

สร้าง array ใหม่ที่ประกอบด้วย element ที่ผ่านเงื่อนไขที่ระบุ

js
const arr = [1, 2, 3, 4];
const even = arr.filter(num => num % 2 === 0);
console.log(even); // [2, 4]

Array.prototype.find()

คืนค่า element แรกที่ตรงกับเงื่อนไขที่ระบุ

js
const arr = [1, 2, 3, 4];
const found = arr.find(num => num > 2);
console.log(found); // 3

Array.prototype.findIndex()

คืนค่า index ของ element แรกที่ตรงกับเงื่อนไขที่ระบุ

js
const arr = [1, 2, 3, 4];
const index = arr.findIndex(num => num > 2);
console.log(index); // 2

Array.prototype.findLast()

คืนค่า element สุดท้ายที่ตรงกับเงื่อนไขที่ระบุ

js
const arr = [1, 2, 3, 4];
const found = arr.findLast(num => num > 2);
console.log(found); // 4

Array.prototype.findLastIndex()

คืนค่า index ของ element สุดท้ายที่ตรงกับเงื่อนไขที่ระบุ

js
const arr = [1, 2, 3, 4];
const index = arr.findLastIndex(num => num > 2);
console.log(index); // 3

Array.prototype.flat()

แปลง array ที่มี nested array ให้กลายเป็น array แบน

js
const arr = [1, [2, [3, [4]]]];
const flattened = arr.flat(2);
console.log(flattened); // [1, 2, 3, [4]]

Array.prototype.flatMap()

ใช้ map และ flat ไปพร้อมกัน

js
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

js
const arr = [1, 2, 3];
arr.forEach(num => console.log(num * 2)); // 2, 4, 6

Array.prototype.includes()

ตรวจสอบว่า array มีค่า element ที่ระบุหรือไม่

js
const arr = [1, 2, 3];
console.log(arr.includes(2)); // true
console.log(arr.includes(4)); // false

Array.prototype.indexOf()

คืนค่า index แรกของ element ที่ตรงกับเงื่อนไขที่ระบุ

js
const arr = [1, 2, 3, 2];
console.log(arr.indexOf(2)); // 1

Array.prototype.join()

รวม element ใน array เป็น string โดยมี separator

js
const arr = ['a', 'b', 'c'];
const joined = arr.join('-');
console.log(joined); // 'a-b-c'

Array.prototype.keys()

คืนค่า iterator object ที่มี key (index) ของแต่ละ element ใน array

js
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 ที่ตรงกับเงื่อนไขที่ระบุ

js
const arr = [1, 2, 3, 2];
console.log(arr.lastIndexOf(2)); // 3

Array.prototype.map()

สร้าง array ใหม่ที่มี element เป็นผลลัพธ์ของ function ที่ระบุ

js
const arr = [1, 2, 3];
const doubled = arr.map(num => num * 2);
console.log(doubled); // [2, 4, 6]

Array.prototype.pop()

ลบ element สุดท้ายออกจาก array และคืนค่าที่ถูกลบ

js
const arr = [1, 2, 3];
const last = arr.pop();
console.log(arr); // [1, 2]
console.log(last); // 3

Array.prototype.push()

เพิ่ม element ใหม่เข้าไปที่ท้าย array

js
const arr = [1, 2];
arr.push(3);
console.log(arr); // [1, 2, 3]

Array.prototype.reduce()

รวมค่า element ใน array ให้กลายเป็นค่าหนึ่งค่าโดยใช้ function ที่ระบุ

js
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 ที่ระบุ

js
const arr = [1, 2, 3, 4];
const sum = arr.reduceRight((acc, num) => acc + num, 0);
console.log(sum); // 10

Array.prototype.reverse()

สลับลำดับ element ใน array จากท้ายมาอยู่ต้น

js
const arr = [1, 2, 3];
arr.reverse();
console.log(arr); // [3, 2, 1]

Array.prototype.shift()

ลบ element แรกออกจาก array และคืนค่าที่ถูกลบ

js
const arr = [1, 2, 3];
const first = arr.shift();
console.log(arr); // [2, 3]
console.log(first); // 1

Array.prototype.slice()

สร้าง array ใหม่ที่ประกอบด้วย element จากช่วงที่ระบุ

js
const arr = [1, 2, 3, 4];
const sliced = arr.slice(1, 3);
console.log(sliced); // [2, 3]

Array.prototype.sort()

จัดเรียง element ใน array ตามลำดับที่ระบุ

js
const arr = [3, 1, 4, 2];
arr.sort((a, b) => a - b);
console.log(arr); // [1, 2, 3, 4]

Array.prototype.splice()

เพิ่ม, ลบ หรือแทนที่ element ใน array

js
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

js
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 ตามการตั้งค่าภาษาท้องถิ่น

js
const arr = [1234567.89, 'test'];
const localeString = arr.toLocaleString('de-DE');
console.log(localeString); // '1.234.567,89,test'

Array.prototype.toReversed()

คืนค่า array ใหม่ที่มีลำดับ element สลับจากขวาไปซ้าย

js
const arr = [1, 2, 3];
const reversed = arr.toReversed();
console.log(reversed); // [3, 2, 1]

Array.prototype.toSorted()

คืนค่า array ใหม่ที่มีลำดับ element เรียงตามที่ระบุ

js
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 ที่ถูกเพิ่ม, ลบ หรือแทนที่

js
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

js
const arr = [1, 2, 3];
const str = arr.toString();
console.log(str); // '1,2,3'

Array.prototype.unshift()

เพิ่ม element ใหม่เข้าไปที่ต้น array

js
const arr = [2, 3];
arr.unshift(1);
console.log(arr); // [1, 2, 3]

Array.prototype.values()

คืนค่า iterator object ที่มีค่า element ใน array

js
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 หนึ่งถูกแทนที่ด้วยค่าที่ระบุ

js
const arr = [1, 2, 3];
const newArr = arr.with(1, 'a');
console.log(newArr); // [1, 'a', 3]

instance methods

Released under the MIT License