首页 新闻 会员 周边 捐助

数组问题JS代码如何写

0
悬赏园豆:80 [已解决问题] 解决于 2019-04-13 09:53

1、提示用户输入一个数组的长度?
2、接着让用户自己输入对应长度的数组的每一个元素?
3、提示用户选择操作:a、求和 b、求平均值 c、最大值 d、最小值?(实现该功能)
4、显示结果,并且结束程序。

代码狂魔2019的主页 代码狂魔2019 | 初学一级 | 园豆:134
提问于:2019-04-12 19:17
< >
分享
最佳答案
0

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>博问</title>
</head>

<body>
<span>请输入数组长度:</span> <input id="arrLength" type="text"><input onclick="sure()" type="button" value="确定">
<div id="arrContent"></div>
<div id="arrPower"></div>
<div id="doneResult"></div>

</body>
<!--
1、提示用户输入一个数组的长度?
2、接着让用户自己输入对应长度的数组的每一个元素?
3、提示用户选择操作:a、求和 b、求平均值 c、最大值 d、最小值?(实现该功能)
4、显示结果,并且结束程序。
-->

<script>

var arrLength = 0;
var btn = document.createElement("button");
var power = document.createElement("input");
var btnPower = document.createElement("button");
var resultInput = document.createElement("input");
btn.innerText = "输入结束"
btnPower.innerText = "确定"

function sure() {
    arrLength = document.getElementById("arrLength").value;
    for (var i = 0; i < arrLength; i++) {
        var arrCont = document.createElement("input");
        arrCont.placeholder = "请输入第" + (i + 1) + "个数"
        arrCont.className = "arr";
        arrContent.appendChild(arrCont);
    }
    arrContent.appendChild(btn);
}
var arr = [];
btn.onclick = function () {
    arrPower.prepend("请选择功能:1、求和 2、求平均值 3、求最大值 4、求最小值");
    power.placeholder = "请选择功能";
    power.display = "block";
    arrPower.appendChild(power);
    arrPower.appendChild(btnPower);
    var arrInput = document.getElementsByClassName("arr");
    for (var i = 0; i < arrInput.length; i++) {
        arr.push(arrInput[i].value);
    }
}
console.log(arr);
var result = 0;
btnPower.onclick = function () {
    var powerNumber = power.value;
    switch (powerNumber) {
        case "1":
            arr.forEach(function (item) {
                result += parseInt(item);
            });
            resultInput.value = result;
            doneResult.innerText = "";
            doneResult.prepend("求和后的结果为:");
            doneResult.appendChild(resultInput);
            break;
        case "2":
            arr.forEach(function (item) {
                result += parseInt(item);
            });
            result = result / arrLength;
            resultInput.value = result;
            doneResult.innerText = "";
            doneResult.prepend("求平均值的结果为");
            doneResult.appendChild(resultInput);
            break;
        case "3":
            var maxNumber = arr[0];
            arr.forEach(function (item) {
                maxNumber = Math.max(maxNumber, parseInt(item));
            });
            resultInput.value = maxNumber;
            doneResult.innerText = "";
            doneResult.prepend("数组中最大值为:");
            doneResult.appendChild(resultInput);
            break;
        case "4":
            var maxNumber = arr[0];
            arr.forEach(function (item) {
                maxNumber = Math.min(maxNumber, parseInt(item));
            });
            resultInput.value = maxNumber;
            doneResult.innerText = "";
            doneResult.prepend("数组中最小值为:");
            doneResult.appendChild(resultInput);
            break;
        default:
            doneResult.innerText = "";
            doneResult.prepend("您输入有误,请重新输入!");



    }
}

</script>

</html>

收获园豆:80
梅思德尔车 | 菜鸟二级 |园豆:242 | 2019-04-12 21:55

终于看到一个我能写的,当做练习写了写,
虽然写的仓促了点,用的都是原生js实现的,功能都实现了。

梅思德尔车 | 园豆:242 (菜鸟二级) | 2019-04-12 21:56

@梅思德尔车: 谢谢大神我是新学者,才开始学js有点绕

代码狂魔2019 | 园豆:134 (初学一级) | 2019-04-13 09:46

@代码狂魔2019: 慢慢来~我也是才学几个月。可以互关互相学习哦~~
记得结贴呀

梅思德尔车 | 园豆:242 (菜鸟二级) | 2019-04-13 09:48

@梅思德尔车: 好的谢谢

代码狂魔2019 | 园豆:134 (初学一级) | 2019-04-13 09:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册