9月6日数组

本文详细介绍了JavaScript中的数组定义、内置类型与引用类型的区别,以及如何使用构造方法创建数组。接着,展示了数组元素的访问、遍历、逆序操作的方法。此外,还深入探讨了数组的几种内置函数,如push、pop、unshift、shift、reverse、splice、concat、join和slice的功能、参数及返回值。最后,讨论了数组的排序算法冒泡排序和选择排序。
摘要由CSDN通过智能技术生成

数组的定义:

存储数据的一个盒子,就向数学中的集合;

数组为引用类型

注:内置的基本类型:

number,string,boolean,undefined,null

引用的类型:

object

内置类型与引用类型的区别:

内置类型:只有一块空间,在栈区,该空间直接保存着变量的数值

引用类型:有两块空间,一块栈空间,存储new堆空间的地址

一块堆空间,存储真正的数据

构造方法:
1构造方法
var arr = new Aeeay(1,2,3,4,5);

new:在堆内存开辟空间的关键字

Array:数组数据类型

2字面量(正常)
var arr1 = [1,2,3,4,5];

数组元素的访问:

语法:数组名[下标]

下标取值范围:0——元素个数-1

下标可以为变量

例如:

var arr = [1,2,3,4,5,6,7,8]
var n = 3;
console.log(arr[3]);(表示打印的是arr数组中的第4个元素)

注意事项:千万不要越界访问,例如:console.log(arr[99999]);

数组的遍历:

遍历:对数组的全部元素执行某种相同的操作;

例如:我们要打印数组内所有的元素:

arr = [1,2,3,4,5,6,7,8,9]
for (var i=0;i<arr.length-1;i++){
   console.log(arr[i])
}

数组的逆序

就是将数组的数字颠倒;

程序=算法+语法

算法:先用中文描述问题的解法,然后再翻译为js语言

var arr = [1,2,4,5,6,7,8,9,1,0];
var t = 0;
for (var i = 0; i<arr.length/2;i++){
        t = arr[i];
        arr[i] =arr[arr.length-1-i];
        arr[arr.length-1-i] = t;
    }
for (var i =0;i<arr.length;i++){
    console.log(arr[i]);
}

数组的函数:

函数的学习思想:

设计思想:将思想放在用户的角度上

1函数的功能

2函数的参数

3函数的返回值

4 抄案例,无耻求demo

push:尾插函数

功能:向数组的末尾添加一个或多个元素(至少一个)

参数:.push(x1,[x2,x3,...xn]);习惯将可有可无的元素放在[ ]里面;

返回值:返回新数组的长度;

var arr = [1,2,4,5,6,7,8,9,1,0];
var arr1 = arr.push('heihei','haha');
console.log(arr1);
解释:原数组的长度为10,尾插两个元素,则数组的返回值为12
pop:尾删函数

功能:删除数组的最后一个元素

参数:无

返回值:返回被删除的那个元素

var arr = [1,2,4,5,6,7,8,9,1,0];
var arr1 = arr.pop();
console.log(arr1);
删除了最后一个元素0.并返回了最后一个元素0;
unshift:头插函数

功能:向数组的开头添加一个或多个元素

参数:unshift(x1,[x2,x3,...xn]);

返回值:返回新数组的长度;

var arr = [1,2,4,5,6,7,8,9,1,0];
var arr1 = arr.unshift(3,4,5);
console.log(arr1);
原数组的长度是10,添加3个元素之后,数组的返回值是13(返回的是数组的长度)
shift:头删函数

功能:把数组的第一个元素从其中删除

参数:无

返回值:返回被删除的第一个元素;

var arr = [1,2,4,5,6,7,8,9,1,0];
var arr1 = arr.shift();
console.log(arr1); 
数组的第一个元素是1,使用了shift之后,删除的是1,返回的也是1
reverse:逆序函数

功能:逆序

参数:无

返回值:无

var arr = [1,2,4,5,6,7,8,9,1,0];
var arr1 = arr.reverse();
console.log(arr1);
splice:删除指定元素,并且可以用新的元素代替

功能:删除指定元素且用新的元素替代

参数:splice(起始位置,偏移量,[替换的元素])

返回值:被删除的元素;其实就是一个数组

新数组有几个元素,他的长度就是元素个数-1

var arr = [1,2,4,5,6,7,8,9,1,0];
var arr1 = arr.splice(2,5,3);
console.log(arr1,arr);
从第下标为2,也就是第3个元素开始,删除5个元素,然后再增加一个元素,最后的返回值为被删除的5个数字组成的数组
arr:为被删除5个元素,之后的数组再加新增的元素组成的数组;
concat:数组的拼接

功能:数组的拼接

参数:concat(数组)

返回值:新数组

var arr = [1,2,3]
var arr1 = [4,5,6]
var arr2 = arr.concat(arr1)
console.log(arr2);
两个数组拼接,把所有的元素写在一个数组里面
join:转化成字符串

功能:把数组中的所有元素放入一个字符串

参数:([字符串分隔符]),默认分隔符为逗号;

返回值:被分割的字符串;

var arr = [1,2,3,4,5,6];
var arra = arr.join('*')
console.log(arra);
slice:截取

功能:数组元素的截取

参数:slice(起始位置,结束为止)[左闭右开)

返回值:被截取的数组

var arr = [1,2,3,4,5,6,6,7]
var arr1 = arr.slice(2,4)
console.log(arr1,arr);
(2,4)表示的是从下标为2的元素开始,到下标为4 的元素,但不包括下标为4的那个元素
返回值为截取的那个几个元素组成的数组;
原数组并未发生改变
sort:排序

用于对数组进行排序(只能由大到小)

多维数组(了解)

js实际是没有多维数组的概念;

所谓的多维数组,实际是通过一维数组的嵌套实现的;

多维数组最常见的是二维数组;

数组排序:

冒泡排序:

冒泡排序:两两比较,每趟找出最大或者最小的一个数值;

趟数:N-1;

次数:N-i(第几趟)-1;

var arr = [5,6,7,8,9,2,0,1];
var t;
// 趟数
for (i=0;i<arr.length-1;i++){   
    // 次数
   for (j=0;j<arr.length-1-i;j++){
    //    如果前一个数字大于后面一个数字,则进行交换,大数朝后走
       if (arr[j]>arr[j+1]){
         t = arr[j];
         arr[j]= arr[j+1];
         arr[j+1] = t;
       }
   }
}
console.log(arr)

选择排序:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值