温故而知新之- Javascript 数组类型 (管理元素)

举报
余人杰 发表于 2020/08/11 22:55:13 2020/08/11
【摘要】 为了让大家跟随我复习时,能容易吸收知识点,尽量采取短文形式。此文介绍的是数组管理元素的知识点,包括如何增、删、改,关联知识点有点多,不过我为大家一一分清楚了,放心阅读。

管理元素


使用索引修改数组(索引从0开始)

let info = [4836, "余人杰", "hw91364016"];
info[1] = '我叫余人杰';
console.log(info); // [4836, "我叫余人杰", "hw91364016"]


使用数组的length属性,可以追加元素

let info = [4836, "余人杰", "hw91364016"];
info[info.length] = '我爱前端';
console.log(info); // [4836, "余人杰", "hw91364016", "我爱前端"]


修改length也可以删除最后一个元素

let info = ["余人杰", "hw91364016"];
info.length = info.length - 1;
console.log(info); // "余人杰"


使用展示语法可以批量添加数组元素

let info = ["余人杰", 4836];
let msg = ["hw91364016"];
msg.push(...info);
console.log(msg); // ["hw91364016", "余人杰", 4836]


使用push()往后压入元素,直接改变原来数组返回数组元素数量

let info = ["余人杰", "hw91364016"];
console.log(info.push('我爱前端', 4836)); // 4
console.log(info); // ["余人杰", "hw91364016", '我爱前端', 4836]


使用pop()从数组末尾弹出元素,直接改变原来数组返回被弹出的元素

let info = ["余人杰", "hw91364016"];
console.log(info.pop()); // "hw91364016"
console.log(info); // ["余人杰"]


使用shift()可以取出数组前面的一个元素

let info = ["余人杰", "hw91364016"];
console.log(info.shift()); //余人杰
console.log(info); // ["hw91364016"]


使用unshift()可以添加元素到数组前面

let info = ["余人杰", "hw91364016"];
console.log(info.unshift("我的名字", "叫做")); // 4
console.log(info); // ["我的名字", "叫做", "余人杰", "hw91364016"]


使用fill()可以往数组填充元素

console.log(Array(3).fill("余人杰")); // ["余人杰", "余人杰", "余人杰"]

指定的位置填充元素(替换元素) fill("填充元素",  填充开始位置填充结束位置)

console.log([4, 8, 3, 6].fill("余人杰", 1, 3)); // [4, "余人杰", "余人杰", 6]


使用 slice() 方法可以截取数组中部分元素进行组合成新的数组不会改变原来数组),没有第二个参数的话,截取直到数组的最后元素

let nums = [2, 4, 6, 8, 10];
console.log(nums.slice(1, 3)); // [4, 6]
console.log(nums.slice(1)); // [4, 6, 8, 10]

截取所有元素时(常被用来复制元素),可以不设置任何参数

let nums = [2, 4, 6, 8, 10];
console.log(nums.slice()); // [2, 4, 6, 8, 10]


数组中的元素的话,可以使用splice(), 不过对原来数组有所改变,而且会返回被删除的元素

splice(指定修改的开始位置, 删除数量)

let nums = [2, 4, 6, 8, 10];
console.log(nums.splice(1, 3)); // 返回删除的元素 [4, 6, 8]
console.log(nums); //删除后的原数组 [2, 10]


第二个参数起,为填补在删除位置的添加元素

let nums = [2, 4, 6, 8, 10];
console.log(nums.splice(1, 3, '余人杰', 'hw91364016')); // [4, 6, 8]
console.log(nums); // [2, '余人杰', 'hw91364016', 10]



第一个参数数值超出数组的长度,则向数组末尾开始添加元素

let nums = [2, 4, 6, 8, 10];
console.log(nums.splice(nums.length, 0, "余人杰", 'hw91364016', 4836)); //[]
console.log(nums); // [2, 4, 6, 8, 10, "余人杰", 'hw91364016', 4836]



往数组前添加元素

let nums = [2, 4, 6, 8, 10];
console.log(nums.splice(0, 0, "余人杰", 'hw91364016')); // []
console.log(nums); //["余人杰", "hw91364016", 2, 4, 6, 8, 10]



清空数组

下面回顾几种请空数组的方法:

数组赋值  []  

let info = [{ id: "hw91364016" }, { name: "余人杰" }];
let msg = info;
info = [];
console.log(info);
console.log(msg);


利用数组的length属性也可以清空数组,将length设置为0

let info = [{ id: "hw91364016" }, { name: "余人杰" }];
info.length = 0;
console.log(info);


使用splice(),可以删除全部数组元素,第二个参数设置为数组的length属性

let info = [{ id: "hw91364016" }, { name: "余人杰" }];
info.splice(0, info.length);
console.log(info);



利用好pop()、shift(), 也可以清空数组

let info = [{ id: "hw91364016" }, { name: "余人杰" }];
while (info.pop()) {}
console.log(info);


心得:学无止境,你我共行,加油。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。