数组基本知识
来源:互联网 发布:网络直播危害的事例 编辑:程序博客网 时间:2024/05/22 02:19
案例:计算五名同学的平均分
var a1,a2,a3,a4,a5;
a1=Number(prompt("请输入分数"))
a2=Number(prompt("请输入分数"))
a3=Number(prompt("请输入分数"))
a4=Number(prompt("请输入分数"))
a5=Number(prompt("请输入分数"))
a6=Number(prompt("请输入分数"))
a7=Number(prompt("请输入分数"))
a8=Number(prompt("请输入分数"))
a9=Number(prompt("请输入分数"))
a10=Number(prompt("请输入分数"))
var avg = (a1+a2+a3+a4+a5+a6+a7+a8+a9+a10)/10
alert(avg)
这个程序很简单,但是如果是一百人那。
怎么解决显然需要循环:
var sum=0;
var a = [];
for(var i=0;i<=10;i++){
a[i] = Number(prompt("输入分数"))
sum+=a[i];
}
var avg = sum/ a.length
alert(avg)
这串代码能够实现相同的功能,并且如果是一百个人,只需要把循环的条件改一下,整个代码结构和代码量和人数没有关系。
为什么和人数没有关系?因为和循环结合起来了。
为什么能和循环结合起来?因为我们把变量的表达方式改变了,即名称加序号的方式(a[0]、a[1]......),那么序号是可以用循环变量来控制。
7.2 数组的定义与元素访问
定义方式有三种
1、 var a = []
2、 var a = new Array()
3、 var a = [0,0,0]
访问元素:数组名+下标
a[0]、a[3]
注意:下标从0开始,所以在使用的时候需要注意越界问题,比如五个元素的始祖那么他的下标范围为【0,4】,不包括5,5已经越界。
数组的本质:一组数据的集合,或者说是一组内存单元。只不过对于变量的表示方式使用的是数组名+下标。
7.3 数组的常用属性和方法
数组的属性:
Length:1、告诉我们数组的长度:数组名.Length
2、通过改属性可以改变数组的长度
数组的常用方法:
1、 unshift:在原有的元素前添加元素(数组名+unshift(添加的元素值))
var b = a.unshift(1)返回新组成数组的长度
shift:删除原有元素的第一个元素。
2、 indexOf:查找数组中重复出现的元素第一次出现的位置,返回值为该元素的下标,lastindexOf:查找最后一次出现的位置,返回值也为该元素的下标。
3、 push:在数组的尾部插入元素,返回值是添加之后数组的长度。
Pop:在数组的尾部删除最后一个元素,返回值为删除的元素本身。
4、 slice(开始的下标,想提取到的下一个下标):就是提取数组中指定连续的子数组。提取的前包括,后不包括。
5、 splice剪接(开始删除位置的下标,要删除元素的长度,要选择插入或者替换的内容,)前面两个参数定义“剪”,后面一个参数定义“接”,通过不同的参数组合能实现以下三种功能:
(1)删除操作。删除任意元素
(2)插入操作。插入指定的任意位置
(3)替换操作。在数组中替换指定位置的元素
6、reverse:将数组中的元素,倒叙输出。在原数组的基础上进行反序输出,但并不会重新创建一个数组接收,所以原数组也发生改变。
7、map:原数组的映射,经过函数的加工,返回一个新数组。
一般我们传递的都是数值、字符串等类型的数据,但有时候我们需要传递一个函数,怎么去传递一个函数那。
匿名函数
var a = [2,4,6,8];
var b = a.map(fun)
functionfun(value,index,self){
self[index]= value *2
}
alert(a)
alert(b)
我们可以简写为下面这种形式
var a = [2,4,6,8];
var b = a.map(function(value,index,self){
self[index]= value *2
})
alert(a)
alert(b)
这就是匿名函数。
- 数组基本知识
- 基本知识-数组
- 数组基本知识
- CSharp 基本知识-数组
- 数组的一些基本知识
- js数组基本知识
- PHP数组基本知识
- 关于数组的基本知识
- 数组的基本知识整理
- Java数组基本知识
- C语言 数组基本知识小结
- Unity3D学习基本知识之数组
- numpy数组 ndarray对象基本知识
- JavaScript的一些基本知识 -- 数组
- java初学之函数的基本知识和数组的基本知识
- Java基本知识(连载)-数组、方法和字符串
- 黑马程序员 一位数组的基本知识总结
- 基本知识
- NOIP总结
- 骑电动车到郑州市区一
- 数独解法编程C++
- Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position conta
- Opencv 3.0 中 Mat 与 IplImage *相互转换
- 数组基本知识
- 【opengl函数】glFeedbackBuffer
- 1.7 C# 属性以及参数传递
- 集训第三天(2017/8/2):继续刷搜索题
- [编程题] 序列和
- 用AppleDoc来生成一份你的文档吧
- 【poj1611】The Suspects 【Asia Kaohsiung 2003】
- C++设计模式 -> 创建型 -> 抽象工厂(Abstract Factory)
- Linux之find命令详解