【发布时间】:2019-02-22 15:03:10
【问题描述】:
我试图让用户在<input> 中输入一个数组。然后我会根据它们的数据类型将它们分类到不同的数组中; (数字、字符串和布尔值)。
但我不知道如何循环输入以对它们进行排序。 示例输入为:[1,"bad",false,3,"key"]
额外:如果你能帮助完成代码。这是源代码:Codepen
function sort() {
const numbers = [];
const strings = [];
const booleans = [];
const others = [];
const inpArr = document.querySelectorAll(".input");
//console.log(inpArr.value);
for (let i = 0; i < inpArr.length; i++) {
console.log(inpArr[i].value);
switch (typeof inpArr[i].value) {
case "Number":
numbers.push(inpArr[i].value);
break;
default:
console.log(typeof inpArr[i].value)
}
}
const objectResult = {
"Strings": strings,
"Numbers": numbers,
"Booleans": booleans,
"Others": others
};
const JsonObj = JSON.stringify(objectResult)
document.querySelector("#rawResult").innerText = JsonObj;
}
<div class="inputs">
<input class="input" placeholder="Enter an Array" />
<button onclick="sort()">SORT ARRAY</button>
</div>
<div class="result">
<div id="rawResult"></div>
<div id="tableResult"></div>
</div>
我需要如何遍历 inpArr 并将每个值排序到各自的数组中。并将用户显示为对象
【问题讨论】:
-
typeof inpArr[i].value将始终返回string -
您只有一个
input和input类,因此您的数组中只有一个值... -
我很惊讶为什么我们要推送到常量变量,否则为什么我们在这里使用 const 变量
-
请问我该如何解决这个问题?
-
@adiga 我该如何解决这个问题>
标签: javascript html arrays loops