需求:let arr = [10, 200, 33, 24, 0, 15, 0, 66, 17, 98]
1. 将数组中的0项去掉,将不为0的值存入一个新的数组,生成新的数组
2. 求新数组中每一项的和
3. 求新数组中的奇数的和
4. 求新数组中的最大值 及最大值对应的下标
5. 求新数组中的最小值 及最小值对应的下标
6. 将新数组进行倒序遍历(从最后一项开始输出)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- let arr = [10, 200, 33, 24, 0, 15, 0, 66, 17, 98]
1. 将数组中的0项去掉,将不为0的值存入一个新的数组,生成新的数组
2. 求新数组中每一项的和
3. 求新数组中的奇数的和
4. 求新数组中的最大值 及最大值对应的下标
5. 求新数组中的最小值 及最小值对应的下标
6. 将新数组进行倒序遍历(从最后一项开始输出) -->
</head>
<body>
<script>
// 1. 将数组中的0项去掉,将不为0的值存入一个新的数组,生成新的数组
let arr = [10, 200, 33, 24, 0, 15, 0, 66, 17, 98]
let newArr = []
for (let i = 0 ; i < arr.length ; i++) {
if (arr[i] !== 0){
newArr.push(arr[i])
}
}
document.write(newArr)
document.write('<br>')
// 2. 求新数组中每一项的和
let sum = 0
for(let j = 0 ; j < newArr.length ; j++) {
sum += newArr[j]
}
document.write(`新数组之和是 ${sum}`)
document.write('<br>')
// 3. 求新数组中的奇数的和
let odd = 0
for(let j = 0 ; j < newArr.length ; j++) {
if( newArr[j] % 2 !== 0) {
odd += newArr[j]
}
}
document.write(`新数组的奇数和是 ${odd}`)
document.write('<br>')
// 4. 求新数组中的最大值最小值 及他们分别的对应的下标
let max = newArr[0]
let maxIndex = 0
let min = newArr[0]
let minIndex = 0
for(let j = 0 ; j < newArr.length ; j++) {
if(max < newArr[j]) {
max = newArr[j]
maxIndex = j // 最大值对应的下标
}else if (min > newArr[j]) {
min = newArr[j]
minIndex = j // 最小值对应的下标
}
}
document.write(`该数组的最大值是 ${max} , 最大值的下标是 ${maxIndex} , 该数组的最小值是 ${min} , 最小值对应的下标是${minIndex}`)
document.write('<br>')
// 6. 将新数组进行倒序遍历(从最后一项开始输出)
for(let k = newArr.length-1 ; k >= 0 ; k--) {
document.write(newArr[k])
}
</script>
</body>
</html>
效果展示: