I have a like that is like
[
{Key: 'FName', Value: 'John'},
{Key: 'LName', Value: 'Doe'},
{Key: 'Age', Value: '30'},
{Key: 'Person', Value: 'true'}
]
How is it possible to check if Person exists as a Key?
>Solution :
Solution 1
You can use <Array>.some
I also made the function take the key you are searching in and the value that you are seeking
const arr = [
{Key: 'FName', Value: 'John'},
{Key: 'LName', Value: 'Doe'},
{Key: 'Age', Value: '30'},
{Key: 'Person', Value: 'true'}
];
function isValueInsideField(arr, fieldName, value){
return arr.some(e => e[fieldName] === value);
}
console.log(isValueInsideField(arr, 'Key', 'Person'))
console.log(isValueInsideField(arr, 'Key', '123'))
Solution 2
if you want to retrieve another value from the array
const arr = [
{Key: 'FName', Value: 'John'},
{Key: 'LName', Value: 'Doe', someKey:false},
{Key: 'Age', Value: '30'},
{Key: 'Person', Value: 'true'}
];
function retriveValueIfKeyExists(arr, keyFieldName, value, valueFieldName){
// nullish concealing operator to return value even if it is falsy
// you can change it with || operator but this might lead to un wanted results
// if the value is 0 or the boolean value false
return arr.filter(e => e[keyFieldName] === value)[0]?.[valueFieldName] ?? null;
}
console.log(retriveValueIfKeyExists(arr, 'Key', 'Person', 'Value'))
console.log(retriveValueIfKeyExists(arr, 'Key', 'LName', 'someKey'))
console.log(retriveValueIfKeyExists(arr, 'Key', '123'))