Ниже приведены фрагменты кода для двух массивов, содержащих элементы. Здесь я хочу сначала выполнить итерацию positionItems , взять первый элемент и сравнить этот элемент со вторым массивом. И здесь, если метка равна distributionAssigningLabel, тогда она вернет true, иначе false.
В этом сценарии она вернет 'Shashi', потому что в первом месте массива там, так что она займет эту позицию и будет соответствовать со вторым массивом, второй массив также содержит имя позиции Senior, поэтому после этого он проверит метку с помощью distributionAssigningLabel, поэтому он будет соответствовать и вернет true.
Не могли бы вы взглянуть и сказать мне лучшее оптимизированный способ добиться этого? Спасибо.
var positionItems = [
"Director",
"Vice President",
"Senior Vice President",
"Executive Vice President",
"President","Senior"
];
var refundBasedOnPosition = [
{
positionName: "Executive Vice President",
positionCode: "Header",
label: "Alyson"
},
{
positionName: "Senior Vice President",
positionCode: "Header",
label: "Tyson"
},
{ positionName: "Director", positionCode: "Header", label: "Shashi" },
{
positionName: "Vice President",
positionCode: "Header",
label: "Shashi"
},
{ positionName: "President", positionCode: "Header", label: "Shashi" },
{
positionName: "Senior",
positionCode: "Header",
label: "Shashi N"
},
{
positionName: "Senior",
positionCode: "Header",
label: "Shashi"
},
{
positionName: "Vice President",
positionCode: "Header",
label: "Shashi B"
},
];
const distributionAssigningLabel = "Shashi";
Я пытался использовать следующий способ, но он будет сравниваться не совсем. Я хочу
let isLogginedName = false;
let filterRefundBasedOnPosition = refundBasedOnPosition.map((item, index) => {
if (item.positionName === positionItems[index]) {
if (distributionAssigningPersonFullName === item.label) {
isLogginedName = true;
}
}
return item;
});
console.log(isLogginedName);
Но не сравнивать с упомянутыми условиями.