我试图使用if语句遍历一个数组,该数组包含具有多个属性值的构造函数的实例。
我正在使用逻辑AND运算符来确保满足2个条件,但是我不断收到消息Uncaught SyntaxError:
带有第二个逻辑条件运算符的意外令牌。
我以前曾经使用过它,从来没有遇到过这个问题,所以现在不明白为什么?我仍在学习Javascript,但这似乎应该很简单?
我尝试删除该消息引发的运算符,但这使我处于一种状况。
class Streets {
constructor(name, area) {
this.name = name;
this.area = area;
}
}
const street1 = new Streets('Brookwood Glen', 500);
const street2 = new Streets('Abbey Street', 1500);
const street3 = new Streets('Grafton Street', 3000);
const street4 = new Streets('Drury Street', 5000);
const totalStreets = [street1, street2, street3, street4];
function getStreetSize() {
for(let cur of totalStreets) {
if(cur.area > 0 && <= 500) { //This line is where I get the error message
console.log(`${cur.name} has a length of ${cur.size}m and is a tiny street.`);
} else if(cur.area > 500 && =< 1000) {
console.log(`${cur.name} has a length of ${cur.size}m and is a small street.`);
} else if(cur.area > 1000 && =< 1500) {
console.log(`${cur.name} has a length of ${cur.size}m and is a normal street.`);
} else if(cur.area > 1500 && =< 2000) {
console.log(`${cur.name} has a length of ${cur.size}m and is a big street.`);
} else if(cur.area > 2000) {
console.log(`${cur.name} has a length of ${cur.size}m and is a huge street.`);
} else {
console.log(`${cur.name} is a normal street`);
}
}
}
我期望for循环遍历'totalStreets'数组中的元素,并评估'area'值是否在2个条件之间,并将相应的语句输出到控制台,但这不是让我使用小于/大于运算符。
答案 0 :(得分:2)
您需要在AND的 each 端具有有效的表达式。
=< 1000
不是有效的表达式,缺少左侧。
您不能在另一个表达式上暗示=<
的{{1}}中LHS
的LHS的值。您必须明确声明。
>
答案 1 :(得分:-2)
您需要将cur.area <= 500
放在&&
之后
您还应该将=<
替换为<=