push() 往數組末尾添加任意多個元素
var arr = ['1', '2'];
arr.push('3');
console.log(arr); // ["1", "2", "3"]
unshift() 往數組開頭添加任意多個元素
var arr = ['1', '2'];
arr.unshift('-1', '0');
console.log(arr); // ["-1", "0", "1", "2"]
pop() 删除數組的最後一個元素并傳回删除的元素
var arr = ["-1", "0", "1", "2"];
arr.pop();
console.log(arr); // ["-1", "0", "1"]
shift() 删除數組第一個元素
var arr = ["-1", "0", "1", "2"];
arr.shift();
console.log(arr); // ["0", "1", "2"]
splice() 通過指定位置索引,删除相應位置和數量的元素。第一個參數是删除或插入的元素的索引值,第二個參數是删除元素的個數,第三個參數往後就是要添加的元素。
var arr = ["Banana", "Orange", "Apple", "Mango"];
arr.splice(2, 0, "Lemon", "Kiwi");
// arr.splice(2, 0); // ["Banana", "Orange", "Apple", "Mango"]
// arr.splice(2, 1); // ["Banana", "Orange", "Mango"]
console.log(arr); // ["Banana", "Orange", "Lemon", "Kiwi", "Apple", "Mango"]
concat 連接配接兩個或多個數組,并傳回結果。
var str1 = "Hello ";
var str2 = "world!";
var n = str1.concat(str2);
console.log(n); // Hello world!
var a = [1, 2, 3];
console.log(a.concat(4,5)); // [1, 2, 3, 4, 5]
every() 對數組中的每一項運作給定函數,如果該函數對每一項都傳回true,則傳回true;否則傳回false
every() 不會對空數組進行檢測。every() 不會改變原始數組。
var ages = [32, 33, 16, 40];
function checkAdult(age) {
return age >= 18;
}
console.log(ages.every(checkAdult)); // false
filter() 對數組的每一項運作給定的函數,傳回函數會傳回true的項組成的數組
var ages = [32, 33, 16, 40];
function checkAdult(age) {
return age >= 18;
}
console.log(ages.filter(checkAdult)); //[32, 33, 40]
forEach() 對數組的每一項運作給的函數,沒有傳回值
var arr = [32, 33, 16, 40];
arr.forEach(item => {
console.log(item); // 列印各個項
})
join() 将所有的數組元素連接配接成一個字元,元素是通過指定的分隔符進行分隔的
var fruits = ["Banana", "Orange", "Apple", "Mango"];
console.log(fruits.join()); // Banana,Orange,Apple,Mango
console.log(fruits.join()); // Banana-Orange-Apple-Mango
indexOf() 傳回第一個與給定參數相等的數組元素的索引,沒有找到則傳回-1。
var str="Hello world, welcome to the universe.";
var n=str.indexOf("welcome");
var m=str.indexOf("6");
console.log(n); // 13
console.log(m); // -1
lastIndexOf() 方法可傳回一個指定的字元串值最後出現的位置,如果指定第二個參數 start,則在一個字元串中的指定位置從後向前搜尋。
var str="I am from runoob,welcome to runoob site.";
var n=str.lastIndexOf("runoob");
console.log(n); // 28
map() 對數組中的每一項運作給定的函數,傳回每次函數調用的結果組成數組。
map() 不會對空數組進行檢測,不會改變原始數組。
var numbers = [4, 9, 16, 25];
numbers.map(Math.sqrt); // [2, 3, 4, 5]
reverse() 颠倒數組中的元素的順序
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.reverse(); // ["Mango", "Apple", "Orange", "Banana"]
some() 對數組中的每一項運作給定的函數,如果任一項傳回true,則傳回true
var ages = [3, 10, 18, 20];
function checkAdult(age) {
return age >= 18;
}
ages.some(checkAdult); // true
sort() 按照字母順序對數組排序,支援傳入指定的排序方法的函數作為參數
sort() 會改變原始數組!。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort(); // ["Apple", "Banana", "Mango", "Orange"]
var points = [40,100,1,5,25,10];
points.sort(function(a,b){return a-b}); // [1, 5, 10, 25, 40, 100]
toString 将數組作為字元串傳回
var num = 15;
var n = num.toString();
console.log(n); // "15"
valueOf 和toString類似,将數組作為字元串傳回
valueOf() 方法傳回 Array 對象的原始值。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var v = fruits.valueOf();
console.log(v); // ["Banana", "Orange", "Apple", "Mango"]
reduce() 計算數組元素相加後的總和
reduce() 可以作為一個高階函數,用于函數的 compose。
reduce() 對于空數組是不會執行回調函數的。
var numbers = [65, 44, 12, 4];
function getSum(total, num) {
return total + num;
}
console.log(numbers.reduce(getSum)); // 125
未完待續~~~