数组(Array)

数组也是一个对象,它和普通对象的功能类似,也是用来存储数据的;不同的是普通对象是使用字符串作为属性名的,而数组是使用数字来作为索引操作元素的

对象中是用属性,数组中用索引

索引:数组的索引是从0开始的整数,数组的存储性能比普通对象更好,在开发中我们经常使用数组来存储一些数据

<script>// 创建数组对象var arr = new Array();// 使用typeof检查数组时,会返回object// console.log(typeof arr);// 向数组中添加元素:语法:数组[索引]=值arr[0] = 0;arr[1] = 1;arr[2] = 2;// arr[10] = 10;// 读取数组中的元素:语法:数组[索引]console.log(arr[1]);// 如果读取不存在的索引,他不会报错而是返回undefinedconsole.log(arr[5]); //undefined// 获取数组的长度: 语法:数组.lenght// 对于连续的数组,使用lenght可以获取到数组的长度(元素的个数)//  对于非连续的数组,使用lenght会获取到数组的最大的索引+1。// 中间未赋值的元素开辟了空间但是未使用,浪费空间,所以尽量创建连续的空间console.log(arr.length);// 修改lenght的值,如果值大于原长度,多出来的部分则会空出来(开辟空间了,但还未赋值)// 如果修改的lenght的值小于原长度,多出的部分会被删除// 向数组的最后一个位置添加元素 // 语法:数组[数组的长度]=值arr[arr.length] = 20;console.log(arr);</script>

数组中可以存放任意的数据,也可以存放对象,函数,数组(称为二维数组)

<script>// 使用字面来创建数组,可以在创建时就指定数组中的元素var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];// 使用构造函数创建数组时,也可以同时添加元素,将要添加的元素作为构造函数的参数传递// 元素之间用,隔开var arr2 = new Array(9, 8, 7, 6, 5, 4, 3, 2, 1);// 创建一个只有元素10的数组var arr3 = [10];// 创建一个长度为10的数组var arr4 = new Array(10)console.log(arr4.length);console.log(arr2);console.log(arr);// 数组里面存放函数var arrFn = [function() {console.log(88888);}, function() {console.log(66666);}];// 调用数组中的函数arrFn[1]();</script>

数组的增删操作

<script>// 创建一个数组var arr = ['孙悟空', '猪八戒', '沙悟净'];console.log(arr);// push():可以向数组的末尾添加一个或多个元素,并返回数组的新的长度// 将要添加的元素作为方法的参数传递,这样这些元素将会自动添加到数组的末尾var res = arr.push('唐三藏', '女儿国国王', '白骨精');console.log(arr);console.log(res); //push返回数组新的长度// pop():可以删除数组的最后一个元素,调一次删一次,并将删除的元素作为返回值返回res = arr.pop();console.log(arr);console.log(res);// unshift():向数组的开头添加一个或多个元素,并返回新的数组长度,// 在前边插入元素后,原先的元素索引会发生变化res = arr.unshift('如来佛祖');console.log(arr);console.log(res);// shift():可以删除第一个元素,并将删除的元素作为返回值返回res = arr.shift();console.log(arr);console.log(res);</script>

数组的遍历

<script>// 创建一个数组var arr = ['孙悟空', '猪八戒', '沙悟净'];// 遍历数组:就是将数组中的所有的元素都取出来// index是数组的索引for (var index = 0; index < arr.length; index++) {// 每个ele是数组每个索引所对应的值var ele = arr[index];console.log(ele);}</script>
数组小练习
<script>// 创建一个构造函数function Person(name, age) {this.name = name;this.age = age;}// 对象var p1 = new Person('孙悟空', 996);var p2 = new Person('猪八戒', 985);var p3 = new Person('沙悟净', 965);var p4 = new Person('唐僧', 211);var p5 = new Person('国王', 220);// 将这些Person类的实例对象放到一个数组中var arr = [p1, p2, p3, p4, p5];// console.log(arr);// 创建一个函数,将arr中的满500岁的对象提取出来,放到一个新的数组并返回// 形参arr是要提取信息的数组function oldPer(arr) {// 创建一个新的数组var newArr = [];// 遍历数组,获取arr中的对象for (let index = 0; index < arr.length; index++) {// 将遍历数组中的每一个元素都赋值给eleconst ele = arr[index];// 判断对象的年龄age是否大于等于500// ele.age>=500if (ele['age'] >= 500) {// 将满500岁的对象添加到新数组中,并返回newArr.push(ele);}// console.log(ele.age);}return newArr;}// res是返回的新数组,也就是age满500的对象的集合var res = oldPer(arr);// len是age满500的对象的个数var len = res.length;console.log(res);console.log(len);</script>

forEach遍历

<script>// 除了for可以遍历数组,js还提供了另一个方法来遍历数组:forEach(function(){}),需要一个匿名函数作为参数// 向作为forEach的参数的匿名函数,由我们创建但是不由我们调用的函数,称为回调函数// var arr = ['孙悟空', '猪八戒', '沙悟净', '唐三藏'];var arr = [{name: '孙悟空',age: 996}, {name: '猪八戒',age: 985}, {name: '沙悟净',age: 965}, {name: '唐三藏',age: 221}];// 这个forEach()只支持IE9+(包含IE9),不支持IE8(包含)以下的的版本// 如果需要兼容IE8,就使用for遍历数组,不要用forEach// 数组有多少个元素,forEach就执行多少次,每次执行时,浏览器会将遍历到的元素以实参的形式传递过来,// 我们可以定义形参,来读取这些内容,浏览器会在回调函数中传递三个参数:// 第一个参数v是当前正在遍历的元素,第二个参数i是当前元素所对应的索引。第三个参数c就是正在遍历的数组arr.forEach(function(v, i, c) {/* console.log(i);console.log(v);console.log(c); */console.log(v.name);console.log(v.age);});</script>

javascript——数组、数组遍历、forEach、增加删除元素相关推荐

  1. C# - 在foreach中删除元素

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在for ...

  2. jquery追加html后删除,jquery动态增加删除元素节点

    jquery动态增加删除元素节点 对于语言编程,不同的思路有着不同的解决办法,Jquery对于动态的ul-li节点的增加删除实力操作思路: 1.做一个按钮用于增加li节点,使用Jquery:appen ...

  3. Python简单遍历字典及删除元素的方法

    Python简单遍历字典及删除元素的方法 这篇文章主要介绍了Python简单遍历字典及删除元素的方法,结合实例形式分析了Python遍历字典删除元素的操作方法与相关注意事项,需要的朋友可以参考下 具体 ...

  4. python字典删除元素_Python简单遍历字典及删除元素的方法

    本文实例讲述了Python简单遍历字典及删除元素的方法.分享给大家供大家参考,具体如下: 这种方式是一定有问题的: d = {'a':1, 'b':2, 'c':3} for key in d: d. ...

  5. Python - 遍历列表时删除元素的正确做法

    Python-遍历列表时删除元素的正确做法 一.问题描述 因为删除元素后,整个列表的元素会往前移动,而i却是在最初就已经确定了,是不断增大的,所以并不能得到想要的结果. 问题现象如下: a = [1, ...

  6. python 遍历list删除元素_详解Python遍历列表时删除元素的正确做法

    这篇文章主要介绍了详解Python遍历列表时删除元素的正确做法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 一.问题描述 这是 ...

  7. Python遍历列表时删除元素的几种方法

    问题来源: 删除列表中的指定元素 描述: 输入一个整数列表,并输入一个整数x,删除列表中所有值为x的数,再输出列表. 问题代码: a = list(eval(input())) x = eval(in ...

  8. python 字典遍历删除_Python简单遍历字典及删除元素的方法

    本文实例讲述了Python简单遍历字典及删除元素的方法.共享给大家供大家参考,详细如下: 这种方式是一定有问题的: d = {'a':1, 'b':2, 'c':3} for key in d: d. ...

  9. 扩展JavaScript数组(Array)添加删除元素方法

    为JavaScript数组(Array)扩展 添加删除元素方法 作者:jcLee95:https://blog.csdn.net/qq_28550263?spm=1001.2101.3001.5343 ...

最新文章

  1. Debian/Ubuntu让apt使用代理
  2. MindMotion MM32 单片机上的MicroPython移植-PWM
  3. python3 多重列表推导式
  4. android app自动化测试之UIAutomator
  5. Spring中注解大全和应用
  6. I.MX6ULL芯片介绍 —— 迅为
  7. lucene 源码分析_Lucene分析过程指南
  8. python鸡兔同笼编程运行结果_Python少儿编程:鸡兔同笼
  9. 揭秘一份集团公司的三方数据对接情况
  10. ais信号接收设备_基于USRP的AIS接收机实现
  11. 《Effective Ruby:改善Ruby程序的48条建议》一第2条:所有对象的值都可能为nil
  12. 使用异步存储提升 Web 应用程序的离线体验
  13. 未处理sqlexception中value_类 java.sql.SQLException 的使用 (Java Platform SE 6)
  14. 一些杂七杂八的算法(打表,递推,随机选择算法)
  15. S(Stockwell)变换的Matlab代码
  16. vsmd5错误怎么办_dnf md5文件错误怎么解决,涨知识了
  17. 搜索优化之四叉树算法(三)
  18. 计算机网络——CRC循环冗余检验
  19. 开发网页微信登入获取微信用户信息
  20. excel实用快捷键图表_使用快捷键创建Excel图表

热门文章

  1. 二、Vue脚手架工程
  2. 音乐网站开发建设定制,手机版DJ音乐网站制作
  3. ECCV 2022 | 腾讯优图29篇论文入选,含人脸安全、图像分割、目标检测等多个研究方向...
  4. python c++情侣网名是什么意思_Python 与 C/C++ 交互的几种方式
  5. ITCAM Portfolio
  6. Perl 和 StrawberryPerl 与 ActivePerl 有什么区别
  7. 【愚公系列】2022年01月 华为鸿蒙OS-03-四种模式开发实操
  8. GitHub前100的开源库,非常实用
  9. mastercam后处理升级_后处理升级_Mastercam后处理升级
  10. 网安笔记04 公钥密码体制