/** * @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