【web前端基础 | JS基础】数组

1 - 数组

1.1 数组的概念

  • 数组可以把一组相关的数据一起存放,并提供方便的访问(获取)方式。
  • 数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素
  • 数组是一种将一组数据存储在单个变量名下的优雅方式。

1.2 创建数组

JS 中创建数组有两种方式:

  • 利用 new 创建数组

    var 数组名 = new Array()var arr = new Array();   // 创建一个新的空数组
    

    注意 Array () ,A 要大写

  • 利用数组字面量创建数组

    //1. 创建空的数组
    var  数组名 = []//2. 创建带初始值的数组
    var  数组名 = ['小白','小黑'];
    
    • 数组的字面量是方括号 [ ]
    • 声明数组并赋值称为数组的初始化
    • 这种字面量方式也是我们以后最多使用的方式
  • 数组元素的类型

    数组中可以存放任意类型的数据,例如字符串,数字,布尔值等。

    var arrStus = ['小白',12,true,28.9];
    

    数组里面还可以放数组。

1.3 获取数组中的元素

索引 (下标) :用来访问数组元素的序号(数组下标从 0 开始)。

数组可以通过索引来访问、设置、修改对应的数组元素,

可以通过“数组名[索引]”的形式来获取数组中的元素。

1
注意:如果访问时数组没有和索引值对应的元素,则得到的值是undefined

1.4 遍历数组

  • 遍历

    数组遍历: 把数组中的每个元素从头到尾都访问一次(类似学生的点名)。

  • 数组的长度

    数组的长度:默认情况下表示数组中元素的个数

    使用“数组名.length”可以访问数组元素的数量(数组长度)。

    数组的长度 ≠ 索引号

在这里插入图片描述
注意

  • 此处数组的长度是数组元素的个数 ,不要和数组的索引号混淆。

  • 当我们数组里面的元素个数发生了变化,这个 length 属性跟着一起变化

    数组的length属性可以被修改:

  • 如果设置的length属性值大于数组的元素个数,则会在数组末尾出现空白元素;

  • 如果设置的length属性值小于数组的元素个数,则会把超过该值的数组元素删除

1.5 数组中新增元素

数组中可以通过以下方式在数组的末尾插入新元素:

  数组[ 数组.length ] = 新数据;

3

不要直接给数组直接赋值(赋值了以后,数组所有的都没了)

【叽叽歪歪】没有追加,只有替换
5

注:冒泡排序

7

有和前面概念重复的,那就再看一遍,权当复习,这是二次编辑新加的笔记

1.6 数组对象

创建数组的两种方式

  • 字面量方式

    var arr = [1,"test",true];
    
  • new Array() (不常见)

    var arr = new Array();
    

    ​ 注意:上面代码中arr创建出的是一个空数组,如果需要使用构造函数Array创建非空数组,可以在创建数组时传入参数

    ​ 参数传递规则如下:

    • 如果只传入一个参数,则参数规定了数组的长度

    • 如果传入了多个参数,则参数称为数组的元素

检测是否为数组

  • instanceof 运算符

    • instanceof 可以判断一个对象是否是某个构造函数的实例

      var arr = [1, 23];
      var obj = {
              
              };
      console.log(arr instanceof Array); // true
      console.log(obj instanceof Array); // false
      
  • Array.isArray()

    • Array.isArray()用于判断一个对象是否为数组,isArray() 是 HTML5 中提供的方法

      var arr = [1, 23];
      var obj = {
              
              };
      console.log(Array.isArray(arr));   // true
      console.log(Array.isArray(obj));   // false
      

第二种优先于第一种

添加删除数组元素的方法

  • 数组中有进行增加、删除元素的方法,部分方法如下表
属性 描述 返回值
push(参数1…) 在数组 末尾 添加一个或者多个元素,修改原数组 返回新数组
pop 删除数组最后一个元素,把数组长度减1,无参数,修改原数组 返回它删除的元素的值
unshift(参数1…) 在数组 开头 添加一个或者多个元素,修改原数组 返回新数组
shift() 删除数组的第一个元素,数组长度减1,无参数,修改原数组 并返回第一个元素的值

注意:push、unshift为增加元素方法;pop、shift为删除元素的方法

数组排序

属性 描述 返回值
reverse 颠倒数组中的元素,无参数 会改变原来的数组,返回新的数组
sort() 对元素进行排序 会改变原来的数组,返回新的数组

注意:sort方法需要传入参数来设置升序、降序排序

  • 如果传入“function(a,b){ return a-b;}”,则为升序
  • 如果传入“function(a,b){ return b-a;}”,则为降序

数组索引方法

属性 描述 返回值
indexOf() 数组中查找给定元素的第一个索引 如果存在,返回索引号,如果不存在,返回-1
lastIndexOf 数组中查找给定元素的最后一个索引 如果存在,返回索引号,如果不存在,返回-1
var arr = [1, 2, 3, 4, 5, 6, 7];
console.log(arr.indexOf(8)); //8在数组中找不到,所以返回的是-1
console.log(arr.indexOf(6));//6在数组中可以找到,所以返回6的索引号5

数组去重

<script>
    var arr = [1, 2, 3, 4, 3, 2, 4, 5, 6, 7, 8, 9, 5];
    function Unique(arr) {
    
    
        //创建一个新数组,用来存放没有重复的数组
        var newArr = [];
        //遍历数组
        for (var i = 0; i < arr.length; i++) {
    
    
            if (newArr.indexOf(arr[i]) === -1) {
    
    
                newArr.push(arr[i]);
            }
        }
        return newArr;
    }
    console.log(Unique(arr)); //1,2,3,4,5,6,7,8,9
</script>

数组转换为字符串

属性 描述 返回值
toString() 把数组转换成字符串, ,分隔每一页 返回字符串
join( ‘分隔符’) 用于把数组中的所有数据元素转换为一个字符串 返回字符串

注意:join方法如果不传入参数,则按照 “ , ”拼接元素

其他方法

属性 描述 返回值
concat() 连接两个或者多个数组,不影响原数组 返回一个新数组
slice() 数组截取slice(begin,end) 返回被截取的新数组
splice() 数组截取splice(第几个开始,要删除的个数)

【叽叽歪歪】

(;´д`)ゞ

/(ㄒoㄒ)/~~

(;´༎ຶД༎ຶ`)

(´థ౪థ)

σ༼༎ຶᴗ༎ຶ༽

ヘ(;´Д`ヘ)

ε(┬┬﹏┬┬)3

二次编辑个啥呀,没保存。。。。三次编辑。。。。

猜你喜欢

转载自blog.csdn.net/qq_43490212/article/details/111241010
今日推荐