首页 > 请问为什么这行JS代码有什么问题

请问为什么这行JS代码有什么问题

我想要通过FOR函数筛选出aqiData大于60的数组,但是不知道为什么不能得到newArr,不知道是哪里出了问题,各位大大求解惑QAQ。

var aqiData = [
  ["北京", 90],
  ["上海", 50],
  ["福州", 10],
  ["广州", 50],
  ["成都", 90],
  ["西安", 100]
];
var newArr = []
(function () {
   for (var i = 0,i < aqiData.length,i++){
        if(aqiData[i][1] > 60){
            newArr.push.(aqiData[i]);
        }
    }

})();

for(; ;) 循环里是分号,arr.push(a);push后不用写.


你这个错得离谱,请用alert调试一下。


第一眼看上去,i>0后面是;不是,aqiData.length后面是;不是, ,push后面多了个该死的dot . newArr应该刚在匿名函数里面,,因为放在外面匿名函数访问不到,下面是我根据你的改写的

=======================

这样就可以了


;号不是,


var aqiData = [
  ["北京", 90],
  ["上海", 50],
  ["福州", 10],
  ["广州", 50],
  ["成都", 90],
  ["西安", 100]
];
var newArr = [];
(function() {
  for (var i = 0; i < aqiData.length; i++) {
    if (aqiData[i][1] > 60) {
      newArr.push(aqiData[i]);
    }
  }
})();

es6

var aqiData = [
  ["北京", 90],
  ["上海", 50],
  ["福州", 10],
  ["广州", 50],
  ["成都", 90],
  ["西安", 100]
];
var newArr = aqiData.filter(a => a[1] > 60);
【热门文章】
【热门文章】