Javascript For Loops is';t与比较运算符一起正常工作
让我的代码登录史酷比·杜有困难!(当我在代码中前进时进行测试)相反,我总是得到警告 我让用户在数组中输入数字数据,例如,Javascript For Loops is';t与比较运算符一起正常工作,javascript,arrays,for-loop,Javascript,Arrays,For Loop,让我的代码登录史酷比·杜有困难!(当我在代码中前进时进行测试)相反,我总是得到警告 我让用户在数组中输入数字数据,例如,[1 2 3 4],我试图在有人在数组中添加额外空格以重试时弹出警报 如果他们没有在史酷比日志中添加额外的空间 document.getElementById("button").addEventListener("click", myExcelFuns); function myExcelFuns() { var userIn
[1 2 3 4]
,我试图在有人在数组中添加额外空格以重试时弹出警报
如果他们没有在史酷比日志中添加额外的空间
document.getElementById("button").addEventListener("click", myExcelFuns);
function myExcelFuns() {
var userInputStr = document.getElementById("numbers").value;
if (userInputStr) {
console.log(userInputStr);
userInputStr = userInputStr.trim();
let userNumberArray = userInputStr.split(" ");
console.log(userNumberArray);
let result;
let newArray = [];
for (let i = 0; i < userNumberArray.length; i++) {
let newArrayValues = parseInt(userNumberArray[i]);
newArray.push(newArrayValues);
}
console.log(newArray);
//Here is the trouble
let finalArray = [];
if (newArray === Number && newArray != ""){
for (let i = 0; i < newArray.length; i++) {
console.log("Scooby Doo");
finalArray.push(newArray);
}
} else {
alert("Only one space between numbers please!")
}
}
document.getElementById(“按钮”).addEventListener(“单击”,myExcelFuns);
函数myExcelFuns(){
var userInputStr=document.getElementById(“数字”).value;
if(userInputStr){
console.log(userInputStr);
userInputStr=userInputStr.trim();
让userNumberArray=userInputStr.split(“”);
console.log(usernumberraray);
让结果;
设newArray=[];
对于(设i=0;i
这个表达式是错误的,永远不会是真的:
if (newArray === Number && newArray != ""){
if (newArray === Number && newArray != ""){
for (let i = 0; i < newArray.length; i++) {
console.log("Scooby Doo");
// Here you'll push whole newArray everytime it runs, I guess it's wrong as well
finalArray.push(newArray);
}
} else {
alert("Only one space between numbers please!")
}
点击我
newArray===Number
永远不会是真的为什么?你看到解决方案了吗?newArray!=''
是检查数组是否为空的一种奇怪(而且有缺陷)的方法。请确保要比较的变量的类型是相同的。这种情况如果(newArray==Number&&newArray!='')
询问数组是否等于函数,数组是否等于字符串。请始终使用==
和!=
。@DarioCharlesnewArray
是一个数组,而Number
是一个函数。我不确定此表达式的用途,所以不,我看不到解决方案。我不确定为什么要使用此表达式当您可以同样轻松地执行userInputStr.split(/\s+/)
时,请选中中间的多个空格,这将忽略多个空格,更方便用户使用,但您可以执行let multiSpaces=userInputStr.match(/\s\s+/);if(multiSpaces)console.log('multiple spaces detected')
键:==
(三个…)表示“完全等于。”这意味着不仅解释的值必须相同,而且数据类型也必须相同。这里不是。