分享一种校验数组对象属性值重复的方法
数据结构

const data = [
	{
		name: '小明',
		age: 18
	},
	{
		name: '小红',
		age: 20
	},
	{
		name: '小明',
		age: 22
	}
]

实现

/**
   * @description 校验数组对象某属性的值有无重复
   * @param {Array} dataArr 数组
   * @param {String}  key 属性名
   * @param {String}  keyCN 属性中文名
   * @return {String}
   * @example checkArrayObjectValueRepeat(data, 'name', '姓名') => "姓名不能重复" || ""
   */
  function checkArrayObjectValueRepeat(dataArr, key, keyCN) {
    let valArr = []
    let check = ''
    dataArr.some((item) => {
      if (valArr.includes(item[key])) return check = `${keyCN || key}不能重复`
      valArr.push(item[key])
      return false
    })
    return check
  }
}
let result = checkArrayObjectValueRepeat(data, 'name', '姓名')
if (result) return alert(result)
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐