1. arr.pop() 删除数组的最后一项 并返回删除的那个元
let arr = [1, 2, 3, 4, 5, 6];
let re = arr.pop();
console.log(re,arr);
结果:6 [1, 2, 3, 4, 5]
2. arr.shift() 删除数组的第一项 并返回删除的那个元素
let arr = [1, 2, 3, 4, 5, 6];
let re = arr.shift();
console.log(re,arr);
结果:1 [2, 3, 4, 5, 6]
3. arr.push() 往数组最后追加元素,并返回新数组的长度
let arr = [1, 2, 3, 4, 5, 6];
let re = arr.push(4, 'a', 'b', 'c');
console.log(re,arr);
答案:10 [1, 2, 3, 4, 5, 6, 4, 'a', 'b', 'c']
4. arr.unshift() 往数组的最前面追加,并返回新数组的长度
let arr = [1, 2, 3, 4, 5, 6];
let re = arr.unshift('a', 'b', 'c');
console.log(re,arr);
答案:9 ['a', 'b', 'c', 1, 2, 3, 4, 5, 6]
5. arr.slice()方法返回一个新的数组对象,这一对象是一个由 begin
和 end
决定的原数组的浅拷贝(包括 begin
,不包括end
)。原始数组不会被改变。
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
arr.slice(0,-1); // 从索引0开始,到索引最后一个结束,不包括最后索引项
(6) ["A", "B", "C", "D", "E", "F"]//控制台输出
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
arr.slice(-1); //最后索引项的获取
["G"]//控制台输出
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
arr.slice(0,6); // 从索引0开始,到索引6结束,不包括最后索引项
(6) ["A", "B", "C", "D", "E", "F"]//控制台输出
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
arr.slice(0,7); // 从索引0开始,到索引6结束,获取全部元素
(7) ["A", "B", "C", "D", "E", "F", "G"]
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
arr.slice(); // 默认获取全部元素
(7) ["A", "B", "C", "D", "E", "F", "G"]
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
arr.slice(-2,-1); // 倒序索引6开始,倒数第二个元素
["F"]//控制台输出
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
arr.slice(-3,-1); // 倒序索引6开始,倒数第3个元素开始,不包括最后一个元素
(2) ["E", "F"]//控制台输出
6. arr.concat() 将数组连接成一个新数组
let arr = [1, 2, 3];
let a = ['a', 'b', 'c'];
let b = [11, 22, 33];
let re = arr.concat(a, b, 'aa', 'bb', 'cc');
console.log(re);
答案:[1, 2, 3, 'a', 'b', 'c', 11, 22, 33, 'aa', 'bb', 'cc']
7. arr.reverse() 翻转数组顺序
let arr = [1, 2, 3];
let re = arr.reverse();
console.log(re);
答案:[3, 2, 1]
8. arr.join('') 用于把数组的每个元素拼接成为字符串
let arr = ['a', 'b', 'c', 'd', 'e', 'f'];
let str = arr.join('');
console.log(str);
答案:abcdef
9. arr.indexOf:查找在数组中首次出现的索引位置,找不到就是-1
10. arr.lastIndexOf:查找在数组中尾次出现的索引位置,找不到就是-1
11. arr.sort:用于排序
正序排列:let re = arr.sort( function (a, b) { return a - b; } );
倒序排列:let re = arr.sort( function (a, b) { return b - a; } );
12. Array.isArray(a) 判断a是否是数组
13. Array.from:用于转换为真数组
注意:要想把伪数组转成真数组,必须有length属
14. arr.find() 返回数组满足条件的第一个值并返回 找不到就undefined
15. arr.findIndex 用于查找首次满足条件的值,并返回其索引值
16. arr.some 用于查找是否有满足条件的值 有一个就可以 返回 true 没有返回 false
下面的例子检测在数组中是否有元素大于 10。
function isBiggerThan10(element, index, array) {
return element > 10;
}
[2, 5, 8, 1, 4].some(isBiggerThan10); // false
[12, 5, 8, 1, 4].some(isBiggerThan10); // true
箭头函数方式:
[2, 5, 8, 1, 4].some(x => x > 10); // false
[12, 5, 8, 1, 4].some(x => x > 10); // true
17. arr.every 用于查找满足条件的值 都满足返回 true 不满足返回 false
下例检测数组中的所有元素是否都大于 10。
function isBigEnough(element, index, array) {
return element >= 10;
}
[12, 5, 8, 130, 44].every(isBigEnough); // false
[12, 54, 18, 130, 44].every(isBigEnough); // true
箭头函数方式:
[12, 5, 8, 130, 44].every(x => x >= 10); // false
[12, 54, 18, 130, 44].every(x => x >= 10); // true
18. arr.filter 筛选满足条件的元素 并返回到一个新数组中
const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];
const result = words.filter(word => word.length > 6);
console.log(result);
// expected output: Array ["exuberant", "destruction", "present"]
19. arr.map 遍历数组每个元素执行一遍回调函数 把结果返回到一个新数组
const array1 = [1, 4, 9, 16];
// pass a function to map
const map1 = array1.map(x => x * 2);
console.log(map1);
// expected output: Array [2, 8, 18, 32]
数组遍历 forEach
数组.forEach(function (item,index,o){
item,index,o为三个形参 可以是任何数
第一个参数:代表数组的每个元素,当前元素
第二个参数:代表数组的每个元素的索引值,当前项的索引值
第三个参数:代表当前数组本身
})