总结11(数组)

数组

        1.为什么需要数组

                为了解决大量同类型数据的存储和使用问题

                为了模拟现实世界

       2. 数组的分类

                一维数组

                        1).怎样定义一维数组

                                为n个变量连续分配存储空间。

                                所有的变量数据类型必须相同。

                                所有变量所占的字节大小必须相等。

                                        例子:

                                                int a[5];

                                         (一维数组名不代表数组中的所有元素,代表数组第一个元素的地址)

                        2).有关一维数组的操作

                                初始化:

                                        完全初始化(数组中,每个元素均被赋值了)

                                                int a[5]={1,2,3,4,5};

                                        不完全初始化(数组中,有元素未被赋值。未被初始化元素自动为0

                                                int a[5]={1,2,3};

                                        不初始化(数组中,所有元素未被赋值。所有元素是垃圾值

                                                int a[5];

                                        清零(数组中,每个值变为0)

                                                int a[5]={0};

                                        错误写法:

                                (1)

                                                int a[5];

                                                a[5]={1,2,3,4,5};//错误(错误原因:没有a[5]这个元素,而且将5个值赋给一个元素也不对。只有定义时a[5]中的5表示个数,定义完后再出现a[5]中的5表示下标只有在定义数组的同时才可以整体赋值其他情况下整体赋值都是错误的

                                (2)

                                                int a[5];

                                                a[5]=100;//错误(错误原因:没有a[5]这个元素,最大只有a[4])

                                (3)

                                                 int a[5]={1,2,3,4,5};

                                                int b[5];

                                                如果要把a数组中的值全部赋值给b数组

                                                错误写法:

                                                b=a;//错误(错误原因:a代表a[0]的地址,b代表b[0]的地址)

                                                正确写法:

                                                for(i=0; i<5; i++)

                                                        b[i]=a[i];

                                赋值

                                排序

                                求最大/最小值

                                倒置

                                查找

                                插入

                                删除

                二维数组

                        int a[3][4];

                                总共12个元素,可以当做三行四列看。

                                这12个元素的名字依次为:a[0][0]   a[0][1]   a[0][2]   a[0][3]

                                                                         a[1][0]   a[1][1]   a[1][2]   a[1][3]

                                                                          a[2][0]   a[2][1]   a[2][2]   a[2][3]

                                a[i][j]表示i+1行j+1列的元素

                                int a[m][n];该二维数组右下角位置的元素只能是a[m-1][n-1]

                        初始化:

                                int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

                        操作:

                                输出二维数组内容(使用两个for循环)

                                

                        对二维数组排序

                        求每一行的最大值

                        判断矩阵是否对称

                        矩阵的相乘

                多维数组

                        是否存在多维数组

                                不存在,因为内存是线性一维的,n维数组可以当做每个元素是n-1维数组的一维数组

(eg: (1). int a[3][4];该数组是含有3个元素的一维数组,只不过每个元素都可以再分成4个小元素

         (2).int a[3][4][5];该数组是含有三个小元素的一维数组,只不过每个元素都是4行5列的二维数组)

JavaScript数组有很多内置方法,可以操作和处理数据。以下是JavaScript数组的所有方法列表: 1. `concat()` - 连接两个或多个数组。 2. `copyWithin()` -数组内部将一段元素拷贝到另一个位置。 3. `entries()` - 返回一个迭代器对象,可以遍历数组所有的键值对。 4. `every()` - 检查数组中的所有元素是否满足一个条件。 5. `fill()` - 用静态值填充一个数组中的所有元素。 6. `filter()` - 通过指定条件过滤出符合条件的数组元素。 7. `find()` - 返回找到的第一个元素,满足条件。 8. `findIndex()` - 返回目标元素索引,满足条件。 9. `forEach()` - 遍历数组,对每个元素执行指定的操作。 10. `includes()` - 判断数组是否包含指定元素。 11. `indexOf()` - 返回指定元素第一个出现的位置索引。 12. `join()` - 连接数组元素,返回字符串。 13. `keys()` - 返回一个迭代器对象,可以遍历数组的键。 14. `lastIndexOf()` - 返回指定元素最后一次出现的位置索引。 15. `map()` - 遍历数组,对每个元素执行指定的操作,将结果放入新数组。 16. `pop()` - 删除数组最后一个元素。 17. `push()` -数组末尾添加一个或多个元素。 18. `reduce()` -数组中的每个元素执行指定的操作,累积计算并返回最终结果。 19. `reduceRight()` - 与reduce()方法类似,不过是从右到左遍历数组。 20. `reverse()` - 反转数组元素的顺序。 21. `shift()` - 删除数组的第一个元素。 22. `slice()` - 截取数组元素,返回新数组。 23. `some()` - 检查数组中是否存在至少一个元素满足一个条件。 24. `sort()` - 排序数组元素。 25. `splice()` - 删除、插入或替换数组中的元素。 26. `toString()` -数组转换成字符串。 27. `unshift()` -数组的开头添加一个或多个元素。 28. `valueOf()` - 返回数组本身。 以上方法中,有些方法会改变原数组,有些方法则不会。需要注意使用时,避免产生错误。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值