У меня есть следующий код, который кажется немного избыточным, так как я многократно повторяюсь над одним и тем же массивом, любые предложения по улучшению, сохраняя его читаемым, будут оценены.
Формат объекта массива является стандартным один, где я проверяю ключи в каждом объекте, чтобы убедиться, что он соответствует определенному условию, например, каждый объект содержит одно значение, или только некоторые из них выполняют et c [{}, {}, {}]
const getValue = arrayOfObjects => {
const hasA = arrayOfObjects.some(
object => arrayOfObjects.abc === 'val1'
);
const hasB = arrayOfObjects.every(
object => arrayOfObjects.abc === 'val2'
);
// the above 2 iterations are repeated about 4 more times for different checks
// then there are a few versions of the below assignment depending on the above variables
const hasC =
hasA ||
hasB;
// finally the function returns one of the values
if (hasA) {
return 'val10';
} else if (hasB) {
return 'val11';
} else if (hasD) {
return 'val12';
}
};