js 判断数组里面是否包含某个值

原数组:

        items: [
                {
                    value: '靠近',
                    name: '靠近'
                },
                {
                    value: '市中心',
                    name: '市中心'
                },
                {
                    value: '其他',
                    name: '其他'
                }
            ],

后台返回数据:

 position:"靠近,市中心"

这个是一个checkbox,后台返回position用逗号分隔,代表选中items里面的第一个和第二个值。选中的值我就使_this.$set(_this.items[0],'checked',true);有没有什么简单的方法,不去写那么多if去判断

阅读 11k
3 个回答
let data = [{value: '靠近',name: '靠近' }, {value: '市中心',name: '市中心'}, {value: '其他',name: '其他'}]
let posList = '靠近,市中心'.split(',');
let posIndex = [];
data.forEach((item,index) => { 
    posList.includes(item.value) && posIndex.push(index)
})

postIndex为对应下标

clipboard.png

if( JSON.stringify(items ).indexOf('靠近') > -1 ) {
  console.log('包含字符串')
}

把items数组转换为一维数组,然后去对比

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