假设我有这么多员工数据
var service = [{
AssignedEmployeeInternalID: "8000000011",
AssignedEmployeeUUID: "00000000-0001-1EE1-82C1-8379F1C4462E",
BillableIndicator: true,
BusinessPartnerFormattedName: "Sébastien Brun",
EndDateTime: null,
EndDatetimeZoneCode: "UTC",
Info: "-N/A",
InternalID: "",
ObjectID: "00163E0E46241EE988E20C5E4033E0BE",
ParentObjectID: "00163E0306801ED287F1C8E9CDFA9E4A",
PeriodPlansArray: [],
PlannedWorkQuantity: "0.00000000000000",
PlannedWorkQuantityunitCode: "HUR",
PlannedWorkQuantityunitCodeText: "",
},
{
AssignedEmployeeInternalID: "8000000011",
AssignedEmployeeUUID: "00000000-0001-1EE1-82C1-8379F1C4462E",
BillableIndicator: false,
BusinessPartnerFormattedName: "Sébastien Brun",
EndDateTime: null,
EndDatetimeZoneCode: "UTC",
Info: "-N/A",
InternalID: "",
ObjectID: "00163E0E46241EE988E20C5E4033E0BE",
ParentObjectID: "00163E0306801ED287F1C8E9CDFA9E4A",
PeriodPlansArray: [],
PlannedWorkQuantity: "0.00000000000000",
PlannedWorkQuantityunitCode: "HUR",
PlannedWorkQuantityunitCodeText: "",
},
{
AssignedEmployeeInternalID: "8000000011",
AssignedEmployeeUUID: "00000000-0001-1EE1-82C1-8379F1C4462E",
BillableIndicator: true,
BusinessPartnerFormattedName: "Sébastien Brun",
EndDateTime: null,
EndDatetimeZoneCode: "UTC",
Info: "-N/A",
InternalID: "",
ObjectID: "00163E0E46241EE988E20C5E4033E0BE",
ParentObjectID: "00163E0306801ED287F1C8E9CDFA9E4A",
PeriodPlansArray: [],
PlannedWorkQuantity: "0.00000000000000",
PlannedWorkQuantityunitCode: "HUR",
PlannedWorkQuantityunitCodeText: "",
}
]
如何验证所有数组中的AssignedEmployeeInternalID
是否相同?
到目前为止,我想出了这个:
result = _.differenceBy(service, [{ 'AssignedEmployeeInternalID': "8000000011" }], 'AssignedEmployeeInternalID');
但是如果我没有要排除的值怎么办(我无法提前知道分配的员工内部 ID 值(
我想动态验证属性是否都相同
您可以使用uniqBy
(请参阅文档 https://lodash.com/docs/4.17.15#uniqBy(,然后如果结果数组的length
为1
,则所有数组项都具有相同的AssignedEmployeeInternalID
值:
var uniqueByID = _.uniqBy(service, 'AssignedEmployeeInternalID');
var allMatch = uniqueByID.length === 1;
如果你使用 Arrayevery
方法,你可以在 vanilla JavaScript 中完成此操作,如下所示:
var service = [{
AssignedEmployeeInternalID: "8000000011",
AssignedEmployeeUUID: "00000000-0001-1EE1-82C1-8379F1C4462E",
BillableIndicator: true,
BusinessPartnerFormattedName: "Sébastien Brun",
EndDateTime: null,
EndDatetimeZoneCode: "UTC",
Info: "-N/A",
InternalID: "",
ObjectID: "00163E0E46241EE988E20C5E4033E0BE",
ParentObjectID: "00163E0306801ED287F1C8E9CDFA9E4A",
PeriodPlansArray: [],
PlannedWorkQuantity: "0.00000000000000",
PlannedWorkQuantityunitCode: "HUR",
PlannedWorkQuantityunitCodeText: "",
},
{
AssignedEmployeeInternalID: "8000000011",
AssignedEmployeeUUID: "00000000-0001-1EE1-82C1-8379F1C4462E",
BillableIndicator: false,
BusinessPartnerFormattedName: "Sébastien Brun",
EndDateTime: null,
EndDatetimeZoneCode: "UTC",
Info: "-N/A",
InternalID: "",
ObjectID: "00163E0E46241EE988E20C5E4033E0BE",
ParentObjectID: "00163E0306801ED287F1C8E9CDFA9E4A",
PeriodPlansArray: [],
PlannedWorkQuantity: "0.00000000000000",
PlannedWorkQuantityunitCode: "HUR",
PlannedWorkQuantityunitCodeText: "",
},
{
AssignedEmployeeInternalID: "8000000011",
AssignedEmployeeUUID: "00000000-0001-1EE1-82C1-8379F1C4462E",
BillableIndicator: true,
BusinessPartnerFormattedName: "Sébastien Brun",
EndDateTime: null,
EndDatetimeZoneCode: "UTC",
Info: "-N/A",
InternalID: "",
ObjectID: "00163E0E46241EE988E20C5E4033E0BE",
ParentObjectID: "00163E0306801ED287F1C8E9CDFA9E4A",
PeriodPlansArray: [],
PlannedWorkQuantity: "0.00000000000000",
PlannedWorkQuantityunitCode: "HUR",
PlannedWorkQuantityunitCodeText: "",
}
];
const theSame = service.every(el => el.AssignedEmployeeInternalID === service[0].AssignedEmployeeInternalID);
console.log(theSame);