Javascript-从数组中删除空项或假项

Javascript-从数组中删除空项或假项,javascript,arrays,vue.js,Javascript,Arrays,Vue.js,我正在服务器上用php解码一个文件。当响应送达客户端时,我使用v-if在我的vue应用程序中循环它时,我遇到了一个奇怪的beahviour,它将正确循环所有项目,并将它们显示在屏幕上(我以数据uri格式循环图像)但是在循环中,我总是会得到两个false项,因此在输出中我会有两个空白图像标记。我不确定这是否是由循环数据URI引起的,但有没有办法从数组中删除错误项 这是客户端代码 axios.request({ url: 'https://localhost:3000/a

我正在服务器上用php解码一个文件。当响应送达客户端时,我使用
v-if
在我的vue应用程序中循环它时,我遇到了一个奇怪的beahviour,它将正确循环所有项目,并将它们显示在屏幕上(我以数据uri格式循环图像)但是在循环中,我总是会得到两个
false
项,因此在输出中我会有两个空白图像标记。我不确定这是否是由循环数据URI引起的,但有没有办法从数组中删除错误项

这是客户端代码

      axios.request({
        url: 'https://localhost:3000/api/readfile', 
        method: 'GET',
        headers: {
          'Authorization': `Bearer ${this.$store.getters.userToken}`
        },
        data: formData
      }).then( (response) => {
        console.log(response);
        response.data.master_file.forEach( (item) => {
          console.log(item);
          this.payload.push(item);
        });
        this.step++;
        this.isLoading = false;
      });

您可以将
Array.push()
包装在if语句中,以避免添加
false

axios.request({
url: 'https://localhost:3000/api/readfile', 
method: 'GET',
headers: {
  'Authorization': `Bearer ${this.$store.getters.userToken}`
},
data: formData
}).then( (response) => {
    console.log(response);
    response.data.master_file.forEach( (item) => {
      console.log(item);
      if (item) {
        this.payload.push(item);
      }
    });
    this.step++;
    this.isLoading = false;
  });

到目前为止你试过什么?您尝试过什么吗?只需将
this.payload.push(item)
包装到if语句中并检查item是否正确exists@ozgur很好的解决方案,我没想过。我可以使用三元运算符来检查项目吗?@newbiedev我会把它作为一个答案发布,这样你可以试着告诉你,它对所有有这个问题的人都很有用。