大家好,欢迎来到IT知识分享网。
数组的细节介绍:
1.数组的字面量是方括号 [ ] 声明数组并赋值称为数组的初始化 这种字面量方式也是我们使用最多的方式
2.数组元素的类型 数组中可以存放任意类型的数据,例如字符串,数字,布尔值等。
3.获取数组中的元素 索引 (下标)用来访问数组元素的序号(数组下标从 0 开始)
4.索引的作用: 数组可以通过索引来访问、设置、修改对应的数组元素,可以通过数组名[索引]的形式来获取数组中的元素。 注意:如果访问时数组没有和索引值对应的元素则得到的值是undefined
5.数组的长度:默认情况下表示数组中元素的个数 使用数组名.length可以访问数组元素的数量(数组长度)。 注意: 此处数组的长度是数组元素的个数,不
要和数组的索引号混淆。 当我们数组里面的元素个数发生了变化</span>,这个 length 属性跟着一起变化
6.操作数组
数组做为对象数据类型,不但有 `length` 属性可以使用,还提供了许多方法:
1. push 动态向数组的尾部添加一个单元
2. unshift 动态向数组头部添加一个单元
3. pop 删除最后一个单元
4. shift 删除第一个单元
5. splice 动态删除任意单元 使用以上4个方法时(会修改原数组),都是直接在原数组上进行操作,即成功调任何一个方法,原数组都跟着发生相应的改变。并且在添加或删除单元时 `length` 并不会发生错乱。
数组的声明:
<script>
数组是一组有序的元素集合 // 1. 字面量声明数组 let arr = []; //字面量声明空数组 let arr1 = new Array(); //利用new创建一个空数组 let arr2 = new Array(5); //5个空数组=》如果只输入一个数字表示数组的长度 let arr3 = new Array(5, 1); //[5,1]必须,号隔开才不是空数组 console.log(arr1); console.log(arr2); console.log(arr3); </script>
数组的求和:
<script> let sum = 0; let arr = [1, 4, 5, 6, 7, 11, 88, 99]; for (let i = 0; i <= arr.length - 1; i++) { console.log(arr[i]); sum += arr[i]; } document.write(`${sum},<br>`); document.write(`${sum / arr.length},<br>`); </script>
求数组中的最大最小值:
<script> let arr = [1, 4, 5, 6, 7, 11, 88, 99]; let max = arr[0]; let min = arr[0]; for (let i = 0; i < arr.length; i++) { // if (max < arr[i]) { // max = arr[i]; // } // if (min > arr[0]) { // min = arr[i]; // } // 方法2 用三元运算符 max = max > arr[i] ? max : arr[i]; // max = arr[i] > max ? arr[i] : max; min = min < arr[i] ? min : arr[i]; // min = arr[i] < min ? arr[i] : min; } console.log(max); document.write(`${max}<br>`); document.write(`${min}<br>`); </script>
数组的方法:增删改查
<script> // pop删除最后一个元素 // shift删除最前面的一个元素 // 注意:删除时()里面不能加数据/或者说加了也不生效 let arr = ["张飞", "关羽", "刘备", "姜维"]; let res = arr.pop(); //删除后面的一个元素=》数组都有返回值,删除的返回值是被删除的元素 arr.shift(); //删除最前面的一个元素 console.log(arr); console.log(res); // splice(删除的下标的位置,删除的个数,)删除指定位置 let arr1 = ["张飞", "关羽", "刘备", "姜维"]; // arr1.splice(2, 1); //删刘备 // console.log(arr1); // arr1.splice(1); //从下标1开始删 后面全删掉 // console.log(arr1); 改 // arr1.splice(0, 1, "曹操"); //把张飞更改为曹操 // console.log(arr1); 指定位置添加 arr1.splice(2, 0, "吕布", "司马懿"); //在刘备后前面追加吕布 司马懿 console.log(arr1); </script>
冒泡排序
<script> // 外面循环的是趟数 里面循环控制每趟交换几次 外面循环一次 里面全部循环 let arr = [5, 4, 3, 2, 1]; for (let i = 0; i < arr.length - 1; i++) { for ( let j = 0; j < arr.length - 1 - i; j++) { // 比较 交换 if (arr[j] < arr[j + 1]) { let temp = arr[j + 1]; arr[j + 1] = arr[j]; arr[j] = temp; } } } console.log(arr); // 方法2 arr.sort(function (a, b) { // return a - b;//a-b为降序 return b - a; //b-a为升序 }); console.log(arr); </script>
能修改原数组的方法
<body> <script> // 会修改原数组方法 // shift() push() unshift() pop() sort() revers() splice() // findIndex(function(每一项,索引号,原数组){}) (索引号,原数组可以省略) 如果有则返回值位置(索引)如果没有返回-1 let arr = ["张三", "李四", "王五", "赵六"]; let num = arr.findIndex(function (item, index, array) { return item === "王五"; }); console.log(num); //2索引号 arr.splice(num, 1, "田七"); //把王五替换成田七 console.log(arr); </script> </body>
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/31353.html