在vue上过滤简单的数字数组

时间:2019-06-25 03:18:31

标签: vue.js filter

我有一个随机生成的简单数字数组,它由v-for呈现,我还希望能够通过在输入中写入所需的数字来对其进行过滤,我可以使用香草JS { {1}}方法。但是它返回错误

filter()

我不知道我在做什么错,这是html:

TypeError: "num.includes is not a function"
    new Vue({
      el: "#app",
      data: {
        numberArray: [],
        searching: ''
      },
      methods: {
        random() {
          this.numberArray = Array.from({
            length: 40
          }, () => Math.floor(Math.random() * 40));
        },
        search(){
        return this.numberArray.filter((num) => num.includes(this.searching));
        }
      }
    })

1 个答案:

答案 0 :(得分:1)

includes()是在字符串和数组(而不是数字)上定义的函数。

另外search应该是计算属性而不是方法。

您是要这样做吗?

computed: {
  search() {
    return this.numberArray.filter(num => String(num).includes(this.searching));
  }
}