首页 > 解决方案 > 检查输入是否为数组,并打印结果

问题描述

代码没有返回预期的结果:如果它是“checkArray” div 上的数组,我想返回“true”,如果不是,则返回“false”,具体取决于用户输入。

<input type="text" id="data" placeholder="Insert data">
<button type="submit" onclick="checkArray()">Check</button>
<div id="checkArray"></div>
<script>
function is_array(data) {
    if (data instanceof Array) {
        return true;
    } else {
        return false;
    }
};
function checkArray() {
    var data = document.getElementById("data").value;
    document.getElementById("checkArray").innerHTML = is_array(data);
}

标签: javascriptarraysobject

解决方案


如果您只是在输入值的开头和结尾寻找打开和关闭数组括号,则可以用is_array(data)下面的代码替换您的函数。尽管您的输入值的类型无论如何都是字符串。

function is_array(data) {
    return data[0] + data[data.length - 1] === "[]"
}

推荐阅读