javaScript中的数组
之前我们已经简单了解过数组了,现在我们开始详细的学习数组,数组就是存放一组数据的优雅变量
创建数组的两种方法:
let 数组名 = newArray()
let arr = newArray() / / 注意点这里的A一定要大写
注意点:我们使用这种方法创建数组,里边只放一个数字,会被判断为数组的长度
let arr = new Array(5);
log(arr) //这里的5会变成数组里边的数字 //但是放多个就不会
利用字面量的方式创建数组
let 数组名 = [“,“,“,“,“,“,“,“,“] //这里的数组字面量就是[ ]
数组中可以存放任意类型的数据,例如字符串,数字,布尔值等
访问数组,就需要使用数组的索引号,来访问数组中的内容
数组的长度 lenght
数组名.lenght来查看一个数组的长度
遍历数组
let arr = [1,2,3,4,5]
for (let i = 0; i < arr.leng;i++) {
log(arr[i]) //这里就是遍历数组中所以的数值
}
数组里边的数字相加案例
let arr = [1, 3, 5, 7, 9, 2, 4, 6, 8] console.log(arr.length) //非空数组,数组长度比索引多1 //声明一个求和变量 let sum = 0 //遍历数组i充当索引号 for (let i = 0; i < arr.length; i++) { console.log(i); document.write(`${arr[i]}<br>`); sum += arr[i];//sum = sum + arr[i] } document.write(`${sum} <br>`); //求数组相加以后的平均值,arr.length是数组的长度 document.write(sum / arr.length);
用if和三元运算来判断数组中的最大值
let arr = [1, 3, 5, 7, 8, 9, 11] //加入arr数组第一个值为最大值,赋值给max进行比较 let max = arr[0] //先用arr和max比较,如果大于max赋值给max let min = arr[0] //先用arr和min比较,如果小于min赋值给min // 遍历 for (let i = 0; i < arr.length; i++) { console.log(i); //i是索引 console.log(arr[i]); //打印数组里边的每个数字 //判断大小 判断最大值 if (arr[i] > max) { //arr第一个数字和max对比,然后进行循环比较 max = arr[i]; //如果arr[i]大于max,就赋值给max } //判断大小 判断最小值 if (arr[i] < min) { //arr第一个数字和min对比,然后进行循环比较 min = arr[i]; //如果arr[i]小于max,就赋值给max } } document.write(`数组最大值${max} <br>`) document.write(`数组最小值${min} <br>`) // 使用三元运算符进行判断 let Arr = [1, 3, 5, 7, 8, 9, 11] let max1 = arr[0] //先用arr和max比较,如果大于max赋值给max let min1 = arr[0] //先用arr和min比较,如果小于min赋值给min for (let i = 1; i < Arr.length; i++) { Arr[i] > max1 ? max1 = Arr[i] : max1 Arr[i] < min1 ? min1 = Arr[i] : min1 } document.write(`数组最大值${max1} <br>`) document.write(`数组最大值${min1} <br>`)
数组的增删改查操作
push()在数组尾部添加
数组名.push(追加的数组尾部元素)
unshift()在数组头部添加
数组名.unshift(追加在数组头部的元素)
pop()删除数组中的最后一个元素
数组名.pop()删除数组中最后一个元素,括号里边不要写任何数据
shift()删除数组中第一个元素
数组名.shift()删除数组中的第一个元素,括号中不要写任何元素
splice()删除的位置,删除的个数,【省略无数参数】
数组名.spilce(删除的位置(记得从0开始),删除的个数)删除指定位置的,删除几个
数组名.splice(删除的位置),只写了删除的位置,那么从这个元素开始,之后的都会被删除掉
数组名.splice(删除的位置,删除的个数,替换的元素)这样删除以后会有新的元素替换上去
数组名.splice(删除的位置,0,替换的元素)0表示我没有删除,但我写了替换参数,这样就不会删除,并且在替换参数后边添加你写的参数
数组的增删改查操作
//1234 push(追加内容) // 在尾部追加 let arr = [1] let res = arr.push(2) console.log(res); // 追加以后的反馈值是数组长度2 console.log(arr); // 追加以后的数组内容[1,2] //1234 unshift(追加内容) // 在头部追加 let arr1 = [1] let res2 = arr1.unshift(2) console.log(res2); // 追加以后的反馈值是数组长度2 console.log(arr1); // 追加以后的数组内容[2,1] //总结 共同:都有返回值,返回值是追加之后的数组长度 //1234pop删除数组中最后一个元素 let arr2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] arr2.pop() console.log(arr2) // 会删除数组中最后一个元素,只认识最后一个数据 //1234shift()删除数组中的第一个元素 arr2.shift() // 会删除数组中最后一个元素,只认识第一个数据 //总结小括号里边不要加数据,返回值是删除的这个元素 arr2.splice(3, 1) //删除的位置,删除的个数,【省略无数个参数】 删除指定位置 // 1234拓展: // 1,保留到某个位置以后,删除后边所有的参数 // arr2.splice(1) //只写了位置,不写其他参数,表示这个位置后边的参数全部删除 // 2,更改某个参数 // arr2.splice(2, 1, 3) //第一个值表示删除的位置 第二个值表示删除的个数 第三个值表示替换的参数 // arr2.splice(3, 0, 2) //第一个值表示删除的位置 第二个值表示没有删除 第三个值表示添加的内容 没有删除甚至在那个位置添加了内容
数组去0操作
let arr = [1, 0, 2, 3, 0, 4, 0, 5, 0, 5, 0, 4] let data = [] for (let i = 0; i < arr.length; i++) { // console.log(i); // console.log(arr[i]); if (arr[i] === 0) { } else { data.push(arr[i]) } } document.write(data) // for (let i = 0; i < arr.length; i++) { // if (arr[i] !== 0) { // data.push(arr[i]) // } // } // document.write(data)
冒泡排序
<center> 冒泡排序:是一种算法,把一系列数据按照一定的顺序进行排列显示(从大到小或者从小到大) <br> 一共需要的趟数 我们用外层for循环 <br> 每一趟交换的次数 我们用里层for循环 <br> 长度就是数组长度减去次数 <br> 但是我们次数是从0开始的 所以最终 arr.length - i - 1 <br> 每一次我们交换2个变量就好了 <br> </center> <script> let arr = [5, 4, 3, 1, 2] let a = 0 // arr[j] //是arr数组中的第一个数字,索引号是0 // arr[j + 1] //是arr数组中第二个数字,索引号是1 for (let i = 0; i < arr.length; i++) { for (let j = 0; j < arr.length; j++) { if (arr[j] > arr[j + 1]) { a = arr[j]; arr[j] = arr[j + 1] arr[j + 1] = a } } } document.write(arr) </script>
原文地址:http://www.cnblogs.com/hgng/p/16876773.html