数组
2024年12月9日大约 4 分钟
数组的使用与其他配合
数组求和,与平均
let arr = [ 3 , 2 , 17 , 28 , 42 , 35 , 13 , 8 ]
let sum = 0
for(let i = 0; i < arr.length ; i++ ){ // 注意数组个数 [1开始数],与数组所在编号 [0开始数]
sum += arr[i]
}
console.log(`数组的和:${sum}`)
onsole.log(`数组的平均值:${sum / arr.length}`)数组取大小
let arr = [ 3 , 2 , 17 , 28 , 42 , 35 , 13 , 8 ] //数组
let number_max = arr[0] //初始化变量,提前获取数组中的值,也可以设置为-100000
let number_min = arr[0] //提前获取数组中的值,也可以设置为100000
for(let i = 1 ; i < arr.length ; i++ ){ //因为已经获取过 arr[0] 所以 i 可以=1 开始
// if(arr[i] > number_max ){
// number_max = arr[i]
// }
// if(arr[i] < number_min){
// number_min = arr[i]
// }
//三元数组用法
arr[i] > number_max ? number_max = arr[i] : null
arr[i] < number_min ? number_min = arr[i] : null
}
console.log(`最大值: ${number_max}`)
console.log(`最小值: ${number_min}`)数组增删改查
//增删
try {
let arr = [1,1,4,5,1,4]
console.log(`原数据:${arr}`)
//添加新数
arr.push(1,9,1,9,8,1,0)
console.log(`添加新数后:${arr}`)
//开头添加
arr.unshift(`homo`)
console.log(`添加新数后:${arr}`)
//删除结尾
arr.pop()
console.log(`删除结尾:${arr}`)
//删除开头
arr.shift()
console.log(`删除开头:${arr}`)
//删除指定位置 arr.splice(起始位置, 多少个)
arr.splice(1, 3)
console.log(`删除指定位置:${arr}`)
} catch (error) {
// 错误后执行
console.log(`这对吗?\n 错误信息为 ${error}`)
}
//改查
try {
let arr = [0,0,0,0,0,7,2,1]
console.log(`原数据:${arr}`)
//修改
arr[1] = 'd'
console.log(`修改后:${arr}`)
//查看
let tmp_arr = []
for(let i = 4 ; arr.length > i ; i++ ){
tmp_arr.push(arr[i])
}
console.log(`${tmp_arr}`)
} catch (error) {
// 错误后执行
console.log(`这对吗?\n 错误信息为 ${error}`)
}匹配新建数组
let arr = [2,0,6,4,18,34,4,12,421,5,4,3,6,53,47,3,5,42,10]
let newArr1 = []
let newArr2 = []
for(let i = 0 ; i < arr.length ; i++){
arr[i] >= 10 ? newArr2.push(arr[i]) : null
}
console.log(`大于等于10:${newArr2}`)
for(let i = 0 ; i < arr.length ; i++){
arr[i] === 0 ? null : newArr1.push(arr[i])
}
console.log(`去0 : ${newArr1}`)完整网页
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input class="text1" type="number" name="text1" placeholder="输入要运行的东西数字">
<button class="btn1" >start</button>
<script>
const text1 = document.querySelector('.text1')
const btn1 = document.querySelector('.btn1')
// let NumberText = +text1
btn1.addEventListener('click' ,async function start() {
switch (+text1.value) {
case 1:
await pingJingZi()
break
case 2:
await Max_of_Min()
break
case 3:
await Write_Del_In()
break
case 4:
await ToBig_ToLittle()
break
default:
alert('未知匹配')
break
}
})
// 数组求和,与平均 [1]
async function pingJingZi() {
let arr = [ 3 , 2 , 17 , 28 , 42 , 35 , 13 , 8 ]
let sum = 0
for(let i = 0; i < arr.length ; i++ ){ // 注意数组个数 [1开始数],与数组所在编号 [0开始数]
sum += arr[i]
}
console.log(`数组的和:${sum}`)
console.log(`数组的平均值:${sum / arr.length}`)
}
// 数组取大、小 [2]
async function Max_of_Min() {
let arr = [ 3 , 2 , 17 , 28 , 42 , 35 , 13 , 8 ] //数组
let number_max = arr[0] //初始化变量,提前获取数组中的值,也可以设置为-100000
let number_min = arr[0] //提前获取数组中的值,也可以设置为100000
for(let i = 1 ; i < arr.length ; i++ ){ //因为已经获取过 arr[0] 所以 i 可以=1 开始
// if(arr[i] > number_max ){
// number_max = arr[i]
// }
// if(arr[i] < number_min){
// number_min = arr[i]
// }
//三元数组用法
arr[i] > number_max ? number_max = arr[i] : null
arr[i] < number_min ? number_min = arr[i] : null
}
console.log(`最大值: ${number_max}`)
console.log(`最小值: ${number_min}`)
}
//数组增删改查 [3]
async function Write_Del_In() {
//增删
try {
let arr = [1,1,4,5,1,4]
console.log(`原数据:${arr}`)
//添加新数
arr.push(1,9,1,9,8,1,0)
console.log(`添加新数后:${arr}`)
//开头添加
arr.unshift(`homo`)
console.log(`添加新数后:${arr}`)
//删除结尾
arr.pop()
console.log(`删除结尾:${arr}`)
//删除开头
arr.shift()
console.log(`删除开头:${arr}`)
//删除指定位置 arr.splice(起始位置, 多少个)
arr.splice(1, 3)
console.log(`删除指定位置:${arr}`)
} catch (error) {
// 错误后执行
console.log(`这对吗?\n 错误信息为 ${error}`)
}
//改查
try {
let arr = [0,0,0,0,0,7,2,1]
console.log(`原数据:${arr}`)
//修改
arr[1] = 'd'
console.log(`修改后:${arr}`)
//查看
let tmp_arr = []
for(let i = 4 ; arr.length > i ; i++ ){
tmp_arr.push(arr[i])
}
console.log(`${tmp_arr}`)
} catch (error) {
// 错误后执行
console.log(`这对吗?\n 错误信息为 ${error}`)
}
}
//匹配新建数组【4】
async function ToBig_ToLittle(params) {
let arr = [2,0,6,4,18,34,4,12,421,5,4,3,6,53,47,3,5,42,10]
let newArr1 = []
let newArr2 = []
for(let i = 0 ; i < arr.length ; i++){
arr[i] === 0 ? null : newArr1.push(arr[i])
arr[i] >= 10 ? newArr2.push(arr[i]) : null
}
console.log(`大于等于10:${newArr2}`)
console.log(`去0 : ${newArr1}`)
}
</script>
</body>
</html>