javascript--判断objectList数据类型里面某个字段是否含有不同项

  /**
   * @param   {objectList} [arr=[]]     [要对比的数组对象]
   * @param   {string}     [field]      [每一项要对比的字段]
   * @returns {boolean}    [isNotEqual] [返回boolean值每一项是否相等]
   */
  getEqual(arr = [], field) {
    if (arr.length && arr.length > 1) { // 超过一条再去校验,只有一条不进行比较
      let isNotEqual = false;
      let preValue = arr[0][field] || ''; // 默认第一项
      for (let i = 0; i < arr.length - 1; i++) {
        const currValue = arr[i + 1] ? arr[i + 1][field] : ''; // 当前项
        if (preValue && currValue && preValue !== currValue) { // 每一项比较
          isNotEqual = true;
        } else {
          preValue = arr[i][field]; // 将当前项赋值给前一项
        }
      }
      return isNotEqual;
    }
    return false;
  }

调用:如是否含有id不同项

const arrList = [
  {
    id: '1',
    name: '测试1'
  },
  {
    id: '1',
    name: '测试2'
  },
  {
    id: '2',
    name: '测试3'
  }
];
// 调用
getEqual(arrList, 'id'); // true

 

posted @ 2020-07-01 11:48  木易锅巴  阅读(915)  评论(0编辑  收藏  举报