Method Array JavaScript
JavaScript 数组的力量隐藏在数组方法中。
把数组转换为字符串
JavaScript 方法 toString()
把数组转换为数组值(逗号分隔)的字符串。
实例
var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.getElementById("demo").innerHTML = fruits.toString();
结果
Banana,Orange,Apple,Mango
join()
方法也可将所有数组元素结合为一个字符串。
它的行为类似 toString(),但是您还可以规定分隔符:
实例
var fruits = ["Banana", "Orange","Apple", "Mango"]; document.getElementById("demo").innerHTML = fruits.join(" * ");
结果
Banana * Orange * Apple * Mango
Popping 和 Pushing
在处理数组时,删除元素和添加新元素是很简单的。
Popping 和 Pushing 指的是:
从数组弹出项目,或向数组推入项目。
Popping
pop()
方法从数组中删除最后一个元素:
实例
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.pop(); // 从 fruits 删除最后一个元素("Mango")
pop()
方法返回“被弹出”的值:
实例
var fruits = ["Banana", "Orange", "Apple", "Mango"]; var x = fruits.pop(); // x 的值是 "Mango"
Pushing
push()
方法(在数组结尾处)向数组添加一个新的元素:
实例
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.push("Kiwi"); // 向 fruits 添加一个新元素
push()
方法返回新数组的长度:
实例
var fruits = ["Banana", "Orange", "Apple", "Mango"]; var x = fruits.push("Kiwi"); // x 的值是 5
位移元素
位移与弹出等同,但处理首个元素而不是最后一个。
shift()
方法会删除首个数组元素,并把所有其他元素“位移”到更低的索引。
实例
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.shift(); // 从 fruits 删除第一个元素 "Banana"
shift()
Metode ini mengembalikan string yang 'digeser keluar':
实例
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.shift(); // Kembalikan "Banana"
unshift()
Metode (di awal) menambahkan elemen baru ke dalam array dan 'geser ke belakang' elemen lama:
实例
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.unshift("Lemon"); // Tambahkan elemen baru "Lemon" ke awal fruits
unshift()
Metode ini mengembalikan panjang array baru.
实例
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.unshift("Lemon"); // Kembalikan 5
ubah elemen
dengan menggunakannomor indeksuntuk mengakses elemen array:
arrayindeks (bawah)dengan mulai dari 0. [0] adalah elemen pertama array, [1] adalah kedua, [2] adalah ketiga ...
实例
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits[0] = "Kiwi"; // Jadikan elemen pertama dalam fruits menjadi "Kiwi"
length
Properti menyediakan metode mudah untuk menambahkan elemen baru ke dalam array:
实例
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits[fruits.length] = "Kiwi"; // Tambahkan "Kiwi" ke belakang fruits
Buang elemen
Karena array JavaScript adalah objek, elemen-elemennya dapat dihapus menggunakan JavaScript delete
operator untukBuang:
实例
var fruits = ["Banana", "Orange", "Apple", "Mango"]; delete fruits[0]; // Jadikan elemen pertama dalam fruits menjadi undefined
Gunakan delete
akan meninggalkan 'masa kosong' tak terdefinisi di dalam array. Gunakan pop()
atau shift()
Gantikan.
Disambungkan array
splice()
Metode ini dapat digunakan untuk menambahkan item baru ke dalam array:
实例
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.splice(2, 0, "Lemon", "Kiwi");
Parameter pertama (2) mendefinisikan posisi tempat elemen baru harus ditambahkan (disambungkan).
Parameter kedua (0) mendefinisikan berapa banyak elemen yang harus dihapus.
Parameter sisanya ("Lemon", "Kiwi") mendefinisikan elemen baru yang akan ditambahkan.
splice()
Metode ini mengembalikan sebuah array yang mengandung item yang telah dihapus:
实例
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.splice(2, 2, "Lemon", "Kiwi");
Hapus elemen dengan splice()
Dengan pengaturan parameter yang cerdas, Anda dapat menggunakan splice()
Hapus elemen tanpa meninggalkan 'masa kosong' di dalam array:
实例
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.splice(0, 1); // Buang elemen pertama dalam fruits
Pemetaan parameter pertama (0) menentukan elemen baru yang harustambahpenyambungan (masuk).
parameter kedua (1) menentukan tempatMenghapus beberapaelemen.
parameter lain diabaikan. Tiada elemen baru akan ditambahkan.
Menggabungkan (menghubungkan) array
concat()
metoden ini akan membuat array baru dengan menggabungkan (menghubungkan) array yang ada:
contoh (menggabungkan dua array)
var myGirls = ["Cecilie", "Lone"]; var myBoys = ["Emil", "Tobias", "Linus"]; var myChildren = myGirls.concat(myBoys); // menggabungkan myGirls dan myBoys
concat()
metoden ini tidak akan mengubah array yang ada. Ia selalu mengembalikan array baru.
concat()
metoden ini boleh digunakan sebanyak yang diinginkan parameter array:
contoh (menggabungkan tiga array)
var arr1 = ["Cecilie", "Lone"]; var arr2 = ["Emil", "Tobias", "Linus"]; var arr3 = ["Robin", "Morgan"]; var myChildren = arr1.concat(arr2, arr3); // menggabungkan arr1, arr2 dan arr3 bersama-sama
concat()
metoden ini juga boleh mengambil nilai sebagai parameter:
contoh (menggabungkan array dengan nilai)
var arr1 = ["Cecilie", "Lone"]; var myChildren = arr1.concat(["Emil", "Tobias", "Linus"]);
Memotong array
slice()
metoden ini akan membuat array baru dengan memotong sebahagian daripada array.
contoh ini akan memotong sebahagian daripada array dari elemen ke-1 ("Orange"):
实例
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"]; var citrus = fruits.slice(1);
slice()
metoden ini akan membuat array baru. Ia tidak akan menghapus sebarang elemen daripada array asal.
contoh ini akan memotong sebahagian daripada array dari elemen ke-3 ("Apple"):
实例
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"]; var citrus = fruits.slice(3);
slice()
boleh menerima dua parameter, seperti (1, 3).
metoden ini akan memilih elemen dari parameter mulai hingga parameter pengakhiran (tidak termasuk).
实例
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"]; var citrus = fruits.slice(1, 3);
jika parameter pengakhiran diabaikan, seperti contoh pertama, maka slice()
akan memotong bahagian yang kekal daripada array.
实例
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"]; var citrus = fruits.slice(2);
auto toString()
如果需要原始值,则 JavaScript 会自动把数组转换为字符串。下面两个例子将产生相同的结果:
实例
var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.getElementById("demo").innerHTML = fruits.toString();
实例
var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.getElementById("demo").innerHTML = fruits;
所有 JavaScript 对象都拥有 toString()
方法。
数组排序
我们将在下一章学习到数组排序的知识~。
查找数组中的最大和最小值
没有在 JavaScript 数组中查找最高和最低值的内建函数。
您将在本教程的下一章学习如何解决这个问题。