洛达什 如果我没有要排除的属性,如何验证数组中的属性是否全部相等



假设我有这么多员工数据

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(,然后如果结果数组的length1,则所有数组项都具有相同的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);

最新更新