JS基础--数组
来源:互联网 发布:淘宝法院拍卖流程 编辑:程序博客网 时间:2024/06/04 20:58
1 数组的概念
<script>
var a1,a2,a3,a4,a5,a6,a7,a8,a9,a10;
a1 = Number(prompt("请输入分数:"));
a2 = Number(prompt("请输入分数:"));
a3 = Number(prompt("请输入分数:"));
a4 = Number(prompt("请输入分数:"));
a5 = Number(prompt("请输入分数:"));
var ave = (a1+a2+a3+a4+a5) / 5;
alert(ave);
</script>
上面这个程序很简单,但是如果是100人呢?难道要真的复制100遍?
显然需要循环
但是试着尝试一下就会发现,循环是用不上,因为无法去控制变量a1,a2,也就是无法将循环控制变量和变量a1、a2联系起来。
var a = [];
var sum = 0;
for(var i=0; i<5; i++){
a[i] = Number(prompt("请输入分数:"));
sum += a[i];
}
var vae = sum/ a.length;
alert(vae);
这段代码能够实现同样的功能,而且如果是100人的话,只要把循环的条件改为i<100即可,整个程序的结构和代码量和人数多少没有关系。
为什么和人数没有关系?因为和循环结合起来了。
为什么能和循环结合起来?因为我们把变量的表示方式改变了,即名称+序号的方式(a[0],a[1]……),那么序号是可以用循环变量去控制。
2 数组的定义
定义有三种方式:
(1) var a = [];
(2) var a = new Array();
(3) var a = [0,0,0];
访问元素:数组名+下标 如:a[0], a[3]
需要注意的是下标是从0开始
所以在使用的时候需要注意越界问题,比如5个元素的数组,那么它的下标范围为[0,4],不包括5, 5已经越界了。
数组的本质:一组数据(变量)的集合,或者说是一组内存单元;只不过对于变量的表示方式使用的是数组名+下标的方式。
3 数组的常用属性和方法
数组的属性:
Length:
(1) 告诉我们数组的长度:数组名.length
(2) 通过该属性可以改变数组的长度
数组常用的方法:
Unshift:
(1) 向一个数组的头部送入元素
(2) 返回值返回数组的长度
Shift:
(1) 从数组的头部删除元素
(2) 返回值返回删除的头部属性
indexOf:
(1)查找在数组中重复出现的元素第一次出现的位置
(2)返回值是该元素的下标
lastIndexOf:
(1) 查找数组中重复出现的元素最后一次出现的位置
(2) 返回值是该元素的下标
push:
(1) 向数组的末尾送入一个或更多元素
(2) 返回值是新的数组长度
pop:
(1) 从数组的尾部删除最后一个元素
(2) 返回值是删除的元素
Slice:(开始位置的下标,结束位置的下标):提取数组中指定连续的子数组。前包括,后不包括。
splice有“剪接” 的含义,前面两个参数定义“剪”的部分,第三个参数定义“接”的部分,经过不同的参数组合就可以实现以下三个功能:
Splice:(开始删除位置的下标,要删除元素的长度,要插入或替换的内容)删除操作:删除数组中指定的任意元素
1. 插入操作:在数组中指定位置插入元素
2. 替换操作:在数组中替换指定位置的元素。
revers:将数组中的元素反序输出.在原商户组的基础上进行反序输出,不会重新创建新数组。
map:原数的映射,经过函数的加工,返回给一个新数组。
一般我们传递的参数都是数值、字符串类型的数据,有些时候可能需要传递一个函数,如下:
var a =[2,4,6,8];
var b = a.map(fun);
function fun(value,index,self){
return value * value;
}
alert(b);
我们可以将以上内容简写为:
var a =[2,4,6,8];
var b = a.map(function (value,index,self){
return value * value;
});
alert(a);
alert(b);
这就是匿名函数。
- JS基础--------数组
- js基础--数组
- JS基础--数组
- js 数组基础
- js基础数组方法
- js基础---函数传参 数组基础
- js基础:数组基础和数组方法的各种使用
- js基础:数组基础和数组方法的各种使用
- js基础:数组基础和数组方法的各种使用
- js基础:数组基础和数组方法的使用
- JS针对数组的基础操作
- js中的数组(基础篇)
- JS高级应用之数组基础
- JS基础——数组总结
- JS基础——初探数组
- JS基础——初探数组
- js基础回顾-对象数组篇
- JS基础回顾(二)--数组
- c++ 技巧
- 分类(category)是门学问
- github using
- 第十二届北京师范大学程序设计竞赛决赛 F.小组论【状压Dp】
- JDBC预编译语句表名占位异常
- JS基础--数组
- 8.6
- 对抗样本与生成式对抗网络
- HDU 6060 RXD and dividing(树形DP+贪心)
- 初级设计程序的小套路
- CentOS6.5与Windows10共享root用户文件夹
- IO流——模拟定义BufferedReader
- 大数据生态系统基础:Apache Spark(一):介绍和编译、安装
- Java接收json数据后对数据库的处理