javascript - 具有用户输入的数组上的 NaN

标签 javascript arrays nan

您好,我是第一个月的 Java 脚本学生,在创建工作数组时遇到问题。我试图从用户那里获取输入,使用 parsefloat 将其从字符串更改为整数,通过函数传递它以查找中间值或中间值的平均值,但它不断出现为 NaN,尝试了各种检查值的不同方法,但它仍然拒绝接受它们作为整数,这是现在的代码。再次感谢您。

<!DOCTYPE html>
<html>
    <head>
    <meta charset="utf-8">
    <title> middle index </title>
        <script>
         function middleIndex() { 

            var index = [];
            index = [
                  parseFloat(document.getElementById('input1').value),
                  parseFloat(document.getElementById('input2').value),
                  parseFloat(document.getElementById('input3').value),
                  parseFloat(document.getElementById('input4').value),
                  parseFloat(document.getElementById('input5').value)
            ];

            var midindex = getMiddle(index);
            document.getElementById('output').value = midindex;
        };

        function getMiddle(list) {
           var s = list.map(function(v) {
               return v.values;}).sort(function(a, b) {return a - b});

           var middle = Math.floor((s.lenth - 1) / 2);
           if (s.lenth % 2) {
               return s[middle];
           } else {
               return (s[middle] + s[middle +1]) / 2.0;
           }
        };
</script>
    </head>
    <body>
    <h2>Finding the middle value</h2>
    <br>
    <input type="text" id="input1">
    <br>
    <input type="text" id="input2">
    <br>
    <input type="text" id="input3">
    <br>

    <input type="text" id="input4">
    <br>
    <input type="text" id="input5">
    <br>
    <button onclick="middleIndex()">Middle</button>
    <br>
    <input type="text" id="output">
    </body>
</html>

最佳答案

  1. 您的单词长度存在语法错误,这两种情况都不应该是 lenth,而是 length。
  2. 返回 v.values - 删除值
  3. 如果你只想排序,那么你只能使用 javascript 的排序函数 var s = list.sort();

所有代码完成:

function getMiddle(list) {               
    var s = list.sort();
    var middle = Math.floor((s.length - 1) / 2);

    if (s.length % 2 == 0) {
         return s[middle];
    } else {
         return (s[middle] + s[middle + 1]) / 2.0;
    }
}

关于javascript - 具有用户输入的数组上的 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27314575/

相关文章:

javascript - 来自 JS for 循环的图像不会在 HTML 上加载

javascript - 为什么我在快速打字时会出现错误的、双倍的输入值?

Javascript 形式 NAN 错误

javascript - 将文件上传到skydrive

javascript - 使用 Google map API 进行反向地理编码

java - 递归查找数组中数字的最小路径

javascript - 移动设备上的 NaN

javascript - 为什么 typeof NaN 返回 'number' ?

arrays - 如何使用 for 循环和使用 awk 的数组对文件的行进行重新排序

java - java中多维数组的减1