vuejs怎样过滤对象数组取值?

我想按条件取值,只取出type=== 'SINGLE_CHOICE'的值。
我用的方法是:
image.png
如下图:
得到的结果是:
image.png

我总感觉这样写不对。为什么过滤了。符合条件的只有2条。为什么长度还是原始的9条呢?只是显示的是未定义

阅读 5.5k
2 个回答
  1. 因为你用的是 .map()(映射),应该用 .find()(查找)
  2. 建议把数据存下来,然后在 computed 里输出你想要的
                        this.ruleForm.singleChoiceData = arr.filter(item => {
                            return item.type === 'SINGLE_CHOICE';
                        });

image.png

推荐问题