数组的方法整理

1 arr.push() 从后面添加元素,返回值为添加完后的数组的长度

let arr = [10, 20];
let res = arr.push(30, 'AA');
// 基于原生 JS 操作键值对的方法,也可以向末尾追加一项新的内容
arr[ary.length] = 40;
console.log(res, arr); // 4 [10,20,30,'AA',40]

2 ary.pop() 从后面删除元素,只能是一个,返回值是删除的元素

let ary = [10, 20, 30, 40];
let res = ary.pop();
console.log(res, ary); // 40  [10,20,30]

// 基于原生 JS 让数组数组长度干掉一位,默认干掉的就是最后一项
ary.length--; // ary.length = ary.length - 1;
console.log(ary);

3 ary.shift() 从前面删除元素,只能删除一个 返回值是删除的元素

let ary = [10, 20, 30, 40];
let res = ary.pop();
console.log(res, ary); // 40  [10,20,30]

// 基于原生 JS 让数组数组长度干掉一位,默认干掉的就是最后一项
ary.length--; // ary.length = ary.length - 1;
console.log(ary);

4 ary.unshift() 从前面添加元素, 返回值是添加完后的数组的长度

let ary = [10, 20];
let res = ary.unshift(30, 'AA');
console.log(res, ary); // 4  [30, 'AA', 10, 20]

// 基于原生 ES6 展开运算符,把原有的 ARY 克隆一份,在新的数组中创建第一项,其余的内容使用原始 ARY 中
// 的信息即可,也算实现了向开始追加的效果
ary = [100, ...ary];
console.log(ary); // [100,30,'AA',10,20]

5 ary.splice(n,m)实现数组的增加、删除、修改,传参: n, m 都是数字 从索引 n 开始删除 m 个元素(m 不写,是删除到末尾),把删除的部分用新数组存储起来返回

let ary = [10, 20, 30, 40, 50, 60, 70, 80, 90];
let res = ary.splice(2, 4);
console.log(res, ary); // [30, 40, 50, 60]  [10, 20, 70, 80, 90]

// 基于这种方法可以清空一个数组,把原始数组中的内容以新数组存储起来(有点类似数组的克隆:把原来数组克
// 隆一份一模一样的给新数组)
/* res = ary.splice(0);
console.log(res, ary);// [10, 20, 70, 80, 90] [] */

// 删除最后一项和第一项
ary.splice(ary.length - 1);
ary.splice(0, 1);
console.log(ary);

6 ary.concat() 连接两个数组 返回值为连接后的新数组(原来数组不变)

let ary1 = [10, 20, 30];
let ary2 = [40, 50, 60];
let res = ary1.concat('今天很好', ary2);
console.log(res);

7 str.split() 将字符串转化为数组

let str = '123456'
console.log(str.split('')) // ["1", "2", "3", "4", "5", "6"]

8 ary.sort() 将数组进行排序,返回值是排好的数组,默认是按照最左边的数字进行排序,不是按照数字大小排序的 (原来数组改变)

let ary = [7, 8, 5, 2, 4, 6, 9];
ary.sort();
console.log(ary); // [2, 4, 5, 6, 7, 8, 9]

// SORT 方法中如果不传递参数,是无法处理10以上数字排序的(它默认按照每一项第一个字符来排,不是我们想要
// 的效果)
/* ary = [12, 15, 9, 28, 10, 22];
ary.sort();
console.log(ary); // [10, 12, 15, 22, 28, 9] */

// 想要实现多位数正常排序,需要给 SORT 传递一个函数,函数中返回 a-b 实现升序,返回 b-a 实现降序
ary = [12, 15, 9, 28, 10, 22];
// ary.sort(function(a,b){ return a-b; });
ary.sort((a, b) => a - b);
console.log(ary);

9 ary.reverse() 将数组反转,返回值是反转后的数组 (原来数组改变)

let ary = [12, 15, 9, 28, 10, 22];
ary.reverse();
console.log(ary); // [22, 10, 28, 9, 15, 12]

10 ary.slice(start,end) 实现数组的查询, n, m 都是数字 从索引 n 开始,找到索引为 m 的地方(不包含 m 这一项)把找到的内容以一个新数组的形式返回

let ary = [10, 20, 30, 40, 50];
let res = ary.slice(1, 3);
console.log(res); // [20,30]

// m不写是找到末尾
res = ary.slice(1);
console.log(res); // [20, 30, 40, 50]

// 数组的克隆,参数0不写也可以
res = ary.slice(0);
console.log(res); // [10, 20, 30, 40, 50]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值