a[0] 是undefined, 就像 {}.a 是undefined, 是未定义
empty本身不是undefined和null
一般判断为空有 null值、undefined值与NaN值判断undefined:
var tmp = undefinedif (typeof(tmp) == "undefined"){ alert("undefined")}
说明:typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"
判断null:
var tmp = nullif (!tmp && typeof(tmp)!="undefined" && tmp!=0){ alert("null")}
判断NaN:
var tmp = 0/0if(isNaN(tmp)){ alert("NaN")}
附上全部相等图≅:松散等于等于检查(==), 比如: "1" == true[] =="0"
=:全等或恒等全等检查(===)
首先for的时候area1是等于2的,for的时候第一次拿到的quyu是1,for的时候第一次x是从0开始,所以你第一次area1 === area3 是不成立的,到了第二次的时候x变成了1,你直接用1去填充了area2这个数组,其实这个1是第二个,所以第一个是empty即为空。area2这样用push方法,area2.push(area0[x])。或者建立一个area2的index
area0=[{id:1,quyu:1},{id:1,quyu:2},{id:2,quyu:5},{id:3,quyu:5},{id:4,quyu:5}]
area1=2
let area2 = []
for(let x=0x<area0.lengthx++){
let area3 = area0[x].quyu
if(area1===area3){
area2.push(area0[x])
}
}
console.log(area2)