前言:文章是本人闲时所写,方便自己以后查阅,如若有幸被您阅读的话,备感荣幸,文章仅为个人理解,如内容有误还望告知,感谢!!!
1.push()
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。返回值为新数组的长度。
实例
var arr = [1, 2, 3, 4, 5];
console.log(arr.push(6)); //输出数组的新长度
console.log(arr); //输出新的数组
输出结果:
unshift()方法是向数组的开头添加一个或更多元素,并返回新的长度。
2.pop()
pop() 方法用于删除并返回数组的最后一个元素。返回值为数组的最后一个元素。
实例
var arr = [1, 2, 3, 4, 5];
console.log(arr.pop()); //输出数组的最后一个元素
console.log(arr); //输出新的数组
输出结果:
shift() 方法把数组的第一个元素从其中删除,并返回第一个元素的值。
3.join()
join() 方法用于把数组中的所有元素放入一个字符串。返回值是字符串。不会影响原数组。
实例
var arr = [1, 2, 3, 4, 5];
console.log(arr.join());
console.log(arr);
输出结果:
如果传参,则作为数组元素之间的分隔符。
4.splice() ☆
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。会影响原数组。
实例:
var arr = [1, 2, 3, 4, 5];
console.log(arr.splice(2, 2)); //从下标为2开始,截取两个元素
console.log(arr); //会影响原数组
输出结果:
如果传多个参数,那么第三个及以后的参数将作为新元素添加到数组中。
实例:
var arr = [1, 2, 3, 4, 5];
console.log(arr.splice(2, 2, 11, 22, 33));
console.log(arr);
输出结果:
5.slice() ☆
slice() 方法可从已有的数组中返回选定的元素。不会影响原数组。
实例:
var arr = [1, 2, 3, 4, 5];
console.log(arr.slice(2, 4)); //从下标为2开始,截取到下标为4然后返回
console.log(arr);
输出结果:
6.reverse()
reverse() 方法用于颠倒数组中元素的顺序。该方法会改变原来的数组,不会创建新的数组。
实例:
var arr = [1, 2, 3, 4, 5];
console.log(arr.reverse());
console.log(arr);
输出结果:
7.concat()
concat() 方法用于连接两个或多个数组。不会改变原数组。参数可以是具体的值,也可以是数组对象。可以是任意多个。
实例:
var arr = [1, 2, 3, 4, 5];
console.log(arr.concat(6,7));
console.log(arr);
输出结果:
8.forEach(callback) ☆
forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。相当于一个循环。
callback是回调函数,他有三个默认默认的参数: item(数组的具体项), index(数组的索引), arry(数组本身)。
实例:
var arr = [1, 2, 3, 4, 5];
arr.forEach(function(item, i){
arr[i] = item + 1; //给每一个数组成员加1
})
console.log(arr);
输出结果:
9.map(callback) ☆
map和forEach很想,也有三个默认参数。map必须有return,他不影响原数组,他返回一个新数组。
实例:
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.map(function(item, i){
return item*item; //将每一个数组平方
})
console.log(arr);
console.log(arr2);
输出结果:
注意:forEach和map需要注意:
1.在他们的回调函数中,如果使用this,this指向的是window
2.没有办法使用break跳出循环
10.some() /和 every()
直接上实例:
var arr = [1, 2, 3, 4, 5];
//判断数组中有没有一个元素是大于2的,返回true或者false
console.log(arr.some(function(item){
return item > 2;
}));
//判断数组中的元素是不是都大于2,返回true或者false
console.log(arr.every(function(item){
return item > 2;
}));
输出结果:
11.Array.from()
将伪数组转换为真数组。
什么是伪数组:伪数组也叫类数组,它无法直接调用数组方法或期望length属性有什么特殊的行为,但仍可以用真正数组遍历方法来遍历它们。
实例:
var likeArr = {0: 'a', 1: 'b', 2: 'c', length:3};
var arr1 = Array.from(likeArr);
console.log(arr1);
console.log(likeArr);
输出结果:
如果传两个参数,第二个参数是一个callback,这个回调起的作用相当于 map()
实例:
var likeArr = {0: 'a', 1: 'b', 2: 'c', length:3};
var arr2 = Array.from(likeArr, function(item, i){
return i + '-' + item;
})
console.log(arr2);
输出结果:
12.Array.of()
当用 new Array( )构造器时,根据传入参数的数量的不同,实际上会导致一些不同的结果, 例如:
var arr1 = new Array(3);
console.log(arr1);
var arr2 = new Array(3,2);
console.log(arr2);
输出结果:
所以ES6 引入了Array.of( )这个方法来解决这个问题。该方法的作用非常类似Array构造器,但在使用单个数值参数的时候并不会导致特殊结果。Array.of( )方法总会创建一个包含所有传入参数的数组,而不管参数的数量与类型。实例:
var arr1 = Array.of(2);
console.log(arr1);
var arr2 = Array.of(2, 3);
console.log(arr2);
输出结果:
13.fill()
fill() 方法用于将一个固定值替换数组的元素。并返回一个新数组。
实例:
var arr = [1, 2, 3, 4, 5];
// console.log(arr.fill('xm')); //如果只传一个字符串,那么会替换所有的数组元素
console.log(arr.fill('xm', 1, 3)); //将下标为1到3的元素替换成字符串'xm'
console.log(arr);
输出结果:
14.find(callback)
查找数组中有没有符合条件的元素,如果有则返回一个元素,如果没有则返回undefined。
实例:
var arr = [1, 2, 3, 4, 5];
console.log(arr.find(function(item, i){
return item > 5;
}));
console.log(arr.find(function(item, i){
return item > 2;
}));
输出结果;
以上仅为个人理解,如内容有误还望告知,感谢!!!