js,a数组与b数组做对比

var a = ['小明','小红','小蓝'];

    var b = [
        {
            name: '小明',
            check: true
        },{
            name: '小红',
            check: true
        },{
            name: '小蓝',
            check: true
        },{
            name: '小黄',
            check: true
        }
    ]
    需求:a数组与b数组做对比,当a数组元素等于b数组的name值则改变b数组当前元素的check值改为true,不等于的元素check值改为false
阅读 2.4k
2 个回答
var a = ['小明','小红','小蓝'];
var b = [
    {
        name: '小明',
        check: true
    },{
        name: '小红',
        check: true
    },{
        name: '小蓝',
        check: true
    },{
        name: '小黄',
        check: true
    }
    ]
const arr = b.map(_ => {
    return {
        name: _.name,
        check: a.includes(_.name)
    }
})

分别传入a,b 两层循环

function fn(a,b) {
  b.forEach(item => item.check = a.some(a1 => a1 === item.name ))
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题