🐚作者简介:苏凉(专注于网络爬虫,数据分析,正在学习前端的路上)
🐳博客主页:苏凉.py的博客
🌐系列总专栏:web前端基础教程
👑名言警句:海阔凭鱼跃,天高任鸟飞。
📰要是觉得博主文章写的不错的话,还望大家三连支持一下呀!!!
👉关注✨点赞👍收藏📂
文章目录
- 数组的概念
- 创建数组对象
- 向数组中添加元素
- 读取数组中的元素
- 数组中的常用属性和方法
- 1.length属性
- 2.cancat方法
- 3.join方法
- 4.pop方法
- 5.push方法
- 6.shift方法
- 7.unshift方法
- 8.slice方法
- 9.splice方法
- 10.reverse方法
- 11.sort方法
- 数组的遍历
- 数组遍历小练习
- 往期回顾
数组的概念
- 数组也是一个对象,它和我们普通对象功能类似,也是用来存储一些值的
- 不同的是普通对象是使用字符串作为属性名,而数组时使用数字来作为索引操作元素
- 索引:从0开始的整数就是索引.
- 数组的存储性能比普通对象要好,在开发中我们经常使用数组来存储一些数据。
创建数组对象
语法1:
var 数组名 = new Array();
当在括号内传入一个数字类型的值时,表示数组的长度,当传入大于1个的值时,表示向数组中添加元素。
语法2:
var 数组名 =[];
当在方括号内传入值时,即为数组添加元素。
使用typeof
检查数组对象时返回Object
。
向数组中添加元素
1.直接添加
语法:
数组名 = [元素1,元素2...];
2.按照索引添加(将元素添加到哪个位置)
语法:
数组名[索引] = '元素';
这里值得注意的是,如果按照索引添加元素,数组的长度是按照的添加的最大索引来计算的。
读取数组中的元素
读取数组元素是一个返回值,需要变量去接收或者直接输出。
1.直接读取,即读取整个数组内的元素。
语法:
console.log(数组名);
2.读取数组中的某个元素。
语法:
console.log(数组名[索引]);
3.当读取一个不存在的元素时,返回undefined。
数组中的常用属性和方法
1.length属性
length属性可以设置/返回数组长度。
- 设置数组长度:
数组名.length = 长度;
当设置的数组长度>原数组长度时,将空出多余的空间。
当设置的数组长度<原数组长度时,将删除多余的数组元素。 - 返回数组长度:
数组名.length;
补充小技巧:可以利用length属性向数组的最后一个位置添加元素。
2.cancat方法
concat()
方法用于连接两个或多个数组。
语法:
数组1.concat(数组2,数组3...);
3.join方法
join()
方法用于把数组中的所有元素转换一个字符串。
语法:
数组名.join(分隔符,不写则默认为逗号分隔);
4.pop方法
pop()
方法用于删除数组的最后一个元素并返回删除的元素。
语法:
数组名.pop();
5.push方法
push()
方法可向数组的末尾添加一个或多个元素,并返回新的长度。
语法:
数组名.push(元素1,元素2...);
6.shift方法
shift()
方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
语法:
数组名.shift();
7.unshift方法
unshift()
方法可向数组的开头添加一个或更多元素,并返回新的长度。
语法:
数组名.unshift(元素1,元素2...);
8.slice方法
slice()
方法可从已有的数组中返回选定的元素。可提取字符串的某个部分,并以新的字符串返回被提取的部分。注意: slice() 方法不会改变原始数组。
语法:
数组名.slice(start,end);
区间为左闭右开
如果为负数则从数组的倒数第几个数取。
9.splice方法
splice()
方法用于添加或删除数组中的元素。
语法:
数组名.splice(从哪个位置开始(必填),要删除的元素个数(可选),要添加的元素(可选))
10.reverse方法
reverse()
方法用于颠倒数组中元素的顺序。
语法:
数组名.reverse();
11.sort方法
sort()
方法用于对数组的元素进行排序。排序顺序可以是字母或数字,并按升序或降序。默认排序顺序为按字母升序。
语法:
数组名.sort();
1.按字母排序(升序/降序)
2.按数字排序(从大到小/从小到大)需定义一个函数。
数组的遍历
使用for循环可进行对数组的遍历。
语法:
for(var 变量=0; 变量<数组名.length;变量++){console.log(数组名[变量])}
数组遍历小练习
向数组中添加6个对象,将成年的人员名单添加到一个新的数组中!!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
function Person(name, age){
this.name = name;
this.age = age;
}
var per1 =new Person('苏凉',21);
var per2 =new Person('小红',15);
var per3 =new Person('小月',17);
var per4 =new Person('小丽',19);
var per5 =new Person('小水',20);
var per6 =new Person('小花',5);
var per_list= [per1,per2,per3,per4,per5,per6];
function arrAdult(){
var newArr=[];
for(var i = 0;i<per_list.length;i++){
var x = per_list[i];
if(x.age<18){
console.log(x.name + '未通过');
}else if(x.age>=18){
console.log(x.name + '恭喜你,通过了!');
newArr.push(x.name)
}
}
return newArr;
}
var list = arrAdult();
console.log('通过名单:'+ list)
</script>
</head>
<body>
</body>
</html>
运行结果:
往期回顾
html,css | web前端-《初识HTML》(附实例详解) |
web前端-HTML图像,表格,列表的使用 | |
web前端-表单的使用详解 | |
web前端-前端三剑客之CSS(1) | |
web前端-css中最直观的反馈-伪类及伪元素选择器的使用 | |
web前端-css边框(border) | |
web前端-CSS(display,position,overflow和浮动float) | |
【小程序】&【web前端】必备-Flex布局详解(弹性盒子) | |
JavaScript | web前端-前端三剑客之JavaScript |
web前端-JavaScript标识符和数据类型/强制类型转换 | |
web前端-JavaScript流程控制语句(条件判断,条件分支和循环语句) | |
web前端-JavaScript中的对象(Object) | |
web前端-JavaScript中的函数(创建,参数,返回值,方法,函数作用域,立即执行函数) | |
web前端-JavaScript中的this指向 | |
web前端-JavaScript使用工厂模式创建对象 | |
web前端-JavaScript构造函数创建对象 | |
web前端-JavaScript中的原型对象 | |
web前端-JavaScript创建对象的四种方法总结 |