温故而知新之- Javascript 数组类型 (管理元素)
【摘要】 为了让大家跟随我复习时,能容易吸收知识点,尽量采取短文形式。此文介绍的是数组管理元素的知识点,包括如何增、删、改,关联知识点有点多,不过我为大家一一分清楚了,放心阅读。
管理元素
使用索引修改数组(索引从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)