首页 > 其他分享 >数组

数组

时间:2022-10-23 15:56:41浏览次数:36  
标签:对象 传递 最小值 数组 类型 构造函数

一.数组的概念及定义

数组即一组任意类型或者相同类型的数据。除了 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)的地址

堆:动态分配的内存,大小不定,也不会自动释放。存放引用类型的值。

img

值传递和引用传递。

基本类型遵循值传递,引用类型遵循引用传递(地址传递)

十.数组的排序

1.冒泡排序算法的原理如下:

比较相邻的元素。如果第一个比第二个大,就交换他们两个。

对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对,在这一点,最后的元素应该会是最大的数。

针对所有的元素重复以上的步骤,除了最后一个。

持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

2.选择排序原理是:

依次假设每一个值为最小值,然后用后续的值和最小值进行比较,如果假设的最小值比当前的值大,那么当

前值就是真正的最小值,这样既可求得真正的最小值的索引(数组依靠索引进行赋值)。

用真正的最小值的索引和当前假设的最小值的索引进行交换赋值。

依次执行上面的操作。

标签:对象,传递,最小值,数组,类型,构造函数
From: https://www.cnblogs.com/ld1936805253/p/16818727.html

相关文章

  • 实验3 数组、指针与现代C++标准库
    任务五info.hpp1#pragmaonce2#include<iostream>3#include<string>4#include<iomanip>5usingnamespacestd;6classinfo7{8public:9......
  • 实验三 数组、指针与现代C++标准库
    实验五代码:Info.hpp1#pragmaonce23#include<iostream>4#include<string>5#include<iomanip>67usingstd::string;8usingstd::cout;9us......
  • C/C++ 一维数组和二维数组参数传递的几种方式
    一维数组:#include<iostream>#include<windows.h>#include<string>usingnamespacestd;//在以下几种方法中,ages都不是真正的数组,实际上是一个指针int*agesint......
  • Java 实例 - 数组差集
    https://www.runoob.com/java/arrays-removeall.htmlhttps://blog.csdn.net/weixin_43552143/article/details/124878630......
  • 实验3 数组、指针与现代C++标准库
    5.实验任务5info.hpp#pragmaonce#include<iostream>#include<string>#include<iomanip>usingstd::string;usingstd::cout;usingstd::endl;classinfo{......
  • 数据结构 玩转数据结构 3-5 数组队列
    0课程地址https://coding.imooc.com/lesson/207.html#mid=13422 1重点关注1.1队列的特性FIFO,先进先出,水管 1.2队列的实现参考......
  • 树状数组3区间查询区间修改
    Description要求使用树状数组完成区间之和查询,区间加上某一相同数值的操作。Solution树状数组是用来单点加,查前缀和的。若要实现区间加,可以将原数列差分,然后在l位置处+v......
  • 实验三 数组、指针与现代c++标准库
    task5#pragmaonce#include<iostream>#include<string>#include<vector>#include<iomanip>usingnamespacestd;classInfo{public:Info(string......
  • PHP array_multisort 多维数组排序的理解
    array_multisort(array1,sortingorder,sortingtype,array2,array3...) 1.数组从前往后,依次排序;前一组数中值相同时,才考虑后一个数组中的值排序;2.任一数组排序变......
  • 数组与结构体
    前言先考虑这样的问题:当你被要求定义十个变量时,你会怎么办?可以像a1,a2,a3···这样一个一个的定义出来。但是,当你被要求定义一千个,一万个变量的时候呢?肯定就不能一个一......