一、数组

  1.数组就是个容器,里面可以存放任意类型的数

  2.定义数组:1)var arr = [];

        2)var arr = new Array();构造函数定义方式,如果括号中有一个整数,该正数代表的是数组的长度

  3.数组长度属性:length

  4.数组的数据类型:Object

  5.取出数组中的数据:数组名[下标],下标从0开始,最大下标为length-1

二、数组的遍历

  1.使用for循环

  2.使用for...in

  3.for...in特点:1)没有循环条件

          2)自动取出下标,下标是从0开始到最大下标自动结束循环

          3)下标的数据类型是string

          4)for...in只能遍历对象

三、二维数组

  1.var arr = [[1,2],[3,4],[5,6]];

   取二维数组中的数组元素:arr[行下标][列下标]

四、数组的操作方法

  pop();删除数组尾部的数据,返回删除的数组元素

  push();向数组尾部添加一个或多个数,返回增加后的数组长度

  shift();删除数组的第一个数,返回被删除的数组元素

  unshift();向数组首部添加一个或多个数,返回增加后的数组长度

  splice();可以实现删除添加 替换等操作(返回被删除的数组元素):

    一个参数:splice(start)start表示开始下标,表示从start位置开始删除数组后面所有的数

    二个参数:splice(start,length)表示从指定位置开始删除指定长度的数据

    三个参数:splice(start,length,num1)当length值为0时,向start位置处添加一个或多个数据;当length值为1时,向start位置处替换数据(数据可以有多个)

  以上五个方法在操作数组的同时会改变原数组

  slice(start,end)从start开始位置截取到end位置处的数据,但截取的数据不包括end位置处的数据,同时该方法不会改变原数组,返回一个新数组

  concat();将一个或多个数组合并成一个新数组,该方法不会改变原数组,返回合并后的新数组

  join(连接符);通过特定的字符将数组转成字符串,不会改变原数组,返回一个字符串

  reverse()数组的反转,会改变原数组,返回反转后的数组,返回值与原数组相同

五、栈和堆

  1.栈:当我们定义一个变量时,计算机就会开辟一块储存空间存放变量的值,这样的空间就叫做栈

        一般栈中存放的是基本数据类型

     一个栈内存中只存放一个变量的值

     栈的特点:有底无顶,先进后出

  2.堆:堆中存放的是批量数据

     根据对象的地址才可以找到堆中的数据

     一改全改(指向同一个地址的变量值之间互相影响)

  3.值传递与地址传递的区别:

    值传递:参数之间互不影响

    地址传递:一改全改

六、冒泡排序

  原理:相邻的两个数进行比较,大数下沉,小数上浮(升序)

  

七、选择排序

  原理:每一轮比较时,分别取出数组中的某个数(arr[0]、arr[1]...)和后面的数依次比较,如果钱一个数大于后一个数就交换(升序)

  

八、sort排序

  原理:默认按照字符排序 数组.sort(),没有参数按照字符排序

  如果按照数值排序,sort需要加一个参数,参数是一个匿名函数

  用法:arr.sort(function(a,b){

    return a-b;//升序,如果降序return b-a;降序

    })

  

JS学习笔记Day6的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. Vue.js学习笔记(2)vue-router

    vue中vue-router的使用:

  3. JS 学习笔记--9---变量-作用域-内存相关

    JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...

  4. WebGL three.js学习笔记 使用粒子系统模拟时空隧道(虫洞)

    WebGL three.js学习笔记 使用粒子系统模拟时空隧道 本例的运行结果如图: 时空隧道demo演示 Demo地址:https://nsytsqdtn.github.io/demo/sprite ...

  5. WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法

    WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNor ...

  6. WebGL three.js学习笔记 创建three.js代码的基本框架

    WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...

  7. vue.js 学习笔记3——TypeScript

    目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...

  8. 2019-4-29 js学习笔记

    js学习笔记一:js数据类型   1:基本数据类型       number类型(整数,小数)      String类型          boolean类型        NaN类型其实是一个nu ...

  9. 一点感悟:《Node.js学习笔记》star数突破1000+

    写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨, ...

随机推荐

  1. Lodop提示安装或升级的注意事项

    LODOP的LodopFuncs.js文件里,自动判断浏览器类型提示下载哪个,根据版本号比较判断提示升级.此文章是以前写的,图示可能过旧,新版提示不同,但是LodopFuncs.js里各个方面变动不大 ...

  2. Sass(1)--- 了解Sass的发展

    1, Sass 其实是一门编程语言,用来书写css, 它对变量的声明,注释等作出了一系列的规定. 其实Sass写出的文件为SCSS, 它还需要编译成真正的css,供浏览器使用. 2, Sass 的编译 ...

  3. 牛客网-2018年全国多校算法寒假训练营练习比赛(第四场)-A

    解题思路:二分图的最大匹配,但这题是所有点都遍历一遍,所以答案/2: 代码: #include<iostream> #include<algorithm> #include&l ...

  4. Modeling Filters and Whitening Filters

    Colored and White Process White Process White Process,又称为White Noise(白噪声),其中white来源于白光,寓意着PSD的平坦分布,w ...

  5. UESTC482-Charitable Exchange-bfs优先队列

    #include <cstring> #include <algorithm> #include <iostream> #include <queue> ...

  6. The Unique MST POJ - 1679 次小生成树prim

    求次小生成树思路: 先把最小生成树求出来  用一个Max[i][j] 数组把  i点到j 点的道路中 权值最大的那个记录下来 used数组记录该条边有没有被最小生成树使用过   把没有使用过的一条边加 ...

  7. 洛谷P3690 Link Cut Tree (模板)

    Link Cut Tree 刚开始写了个指针版..调了一天然后放弃了.. 最后还是学了黄学长的板子!! #include <bits/stdc++.h> #define INF 0x3f3 ...

  8. 【XSY2730】Ball 多项式exp 多项式ln 多项式开根 常系数线性递推 DP

    题目大意 一行有\(n\)个球,现在将这些球分成\(k\) 组,每组可以有一个球或相邻两个球.一个球只能在至多一个组中(可以不在任何组中).求对于\(1\leq k\leq m\)的所有\(k\)分别 ...

  9. SuperSocket 案例

    SuperSocket 是一个轻量级, 跨平台而且可扩展的 .Net/Mono Socket 服务器程序框架.你无须了解如何使用 Socket, 如何维护 Socket 连接和 Socket 如何工作 ...

  10. 「2017 Multi-University Training Contest 7」2017多校训练7

    1002 Build a tree(递归) 题目链接 HDU6121 Build a tree 有一棵n个点的有根树,标号为0到n-1,i号点的父亲是\(\lfloor\frac{i-1}{k}\rf ...