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
未完待续~~~