数组的方法总结

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为三个形参 可以是任何数
第一个参数:代表数组的每个元素,当前元素
第二个参数:代表数组的每个元素的索引值,当前项的索引值
第三个参数:代表当前数组本身
})

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值