一.数组的概念及定义
数组即一组任意类型或者相同类型的数据。除了 Object 类型之外,Array 类型是ECMAScript 最常用的类型。而且 ECMAScript 中的 Array 类型和其他语言中的数组有着很大的区别。 虽然数组都是有序排列, 但 ECMAScript中的数组每个元素可以保存任何类型。ECMAScript 中数组的大小也是可以调整的。
二.构造函数的简单介绍了解
构造函数(类)特点:首字母大写,new运算符调用。
类,构造函数:一类事物,抽象的,不占据内存空间。
实例对象:实例化,new构造函数产生实例对象。(具体的,占据内存)
三.数组的创建方式
第一种是 new 运算符(构造函数);
第二种是字面量表示法;
在计算机科学中,字面量是用于表达源代码中一个固定值的表示法。
注意:给构造函数传递一个值也可以创建数组。如果传递的是数字,则会按照该数自创建包含给定项数的数组;而如果传递的是其他类型的参数,则会创建包含那个值的只有一项的数组。
四.数组的操作
使用索引(index)下标来读取数组的值--下标是固定的,从0开始
数组的length属性 ,代表长度,通过设置这个属性,可以从数组的末尾移除项或向数组中添加新项。
数组的遍历for循环--数组索引下标是有序的。
检测数组:Array.isArray() 静态方法(构造函数开头的)
Array.isArray():确定括号中的某个值到底是不是数组
五.数组的方法
push() 可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。
pop() 从数组末尾移除最后一项,减少数组的length值,然后返回移除的项。
unshift()可以接收任意数量的参数,把它们逐个添加到数组前面,并返回修改后数组的长度
shift() 从数组前面移除一项,减少数组的length值,然后返回移除的项。
reverse() 方法会反转数组项的顺序。
sort() 方法按字母表升序排列数组项。
如果按其他方式而非字母表顺序进行数组排列,必须给sort方法传递一个比较函数做参数。
concat() 方可以基于当前数组中的所有项创建一个新数组,参数可以是数组项或者数组。
slice() 方法它能够基于当前数组中的一或多个项创建一个新数组。可以接受一或两个参数,即要返回项的起始和结束位置,不包括结束位置。
splice() 方法对数组进行删除、插入、替换,是最强大的数组方法,返回值是数组,改变原数组。
join()方法,将数组转换成对应的字符串。参数就是连接符。
六.对象的概念及创建 - 重点
对象是javascript的数据类型。对象是一种复合值,它将很多值聚合在一起,可通过名字访问这些值。对象也看做是属性的无序集合,每个属性都是一个键/值对。
对象(自定义对象)的两种创建方式
构造函数创建对象 var obj=new Object()
字面量创建对象 var obj={ }
七.数组的类别
对象数组
二维数组
八.数组和对象的遍历
for循环只能够遍历数组
for...in循环:可以遍历数组和对象,最好遍历对象。
九.JS堆和栈的了解
引用类型和基础类型的不同(内存方面)
栈:自动分配内存空间,系统自动释放,基本类型的值和引用类型(object)的地址
堆:动态分配的内存,大小不定,也不会自动释放。存放引用类型的值。
值传递和引用传递。
基本类型遵循值传递,引用类型遵循引用传递(地址传递)
十.数组的排序
1.冒泡排序算法的原理如下:
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对,在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
标签:对象,传递,最小值,数组,类型,构造函数 From: https://www.cnblogs.com/ld1936805253/p/16818727.html2.选择排序原理是:
依次假设每一个值为最小值,然后用后续的值和最小值进行比较,如果假设的最小值比当前的值大,那么当
前值就是真正的最小值,这样既可求得真正的最小值的索引(数组依靠索引进行赋值)。
用真正的最小值的索引和当前假设的最小值的索引进行交换赋值。
依次执行上面的操作。