请问为什么这行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]);
        }
    }

})();
阅读 2.7k
5 个回答

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

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);

;号不是,

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

=======================
图片描述

这样就可以了

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题