Массив Javascript находит проверку на неопределенность - PullRequest
1 голос
/ 09 июня 2019

Я использую javascript array.find в моем списке массивов объектов. Я хочу получить другое свойство этого объекта только по сравнению с этим свойство доступно. По сравнению с т, я получаю значение как «Value1» По сравнению с t1, я получаю неопределенный. Я хочу проверить «неопределенное» и получить значение только при его наличии.

const t = 'abc';
const t1= 'xyz';
temp = [ {key: "abc", value: "Value1}]
temp.find( check => check.key === t ).value);

Ответы [ 3 ]

1 голос
/ 09 июня 2019

Во-первых, вы пропустили заключительную цитату. Во-вторых, используйте some и find:

const t = 'abc';
const t1= 'xyz';
const temp = [{key: "abc", value: "Value1"}];
if (temp.some(({ key }) => key == t)) console.log(temp.find(({ key }) => key == t).value);
1 голос
/ 09 июня 2019

В зависимости от того, как вы намереваетесь использовать значение, вы, скорее всего, обнаружите, что вам нужен какой-то тип значения в результате поиска. Это позволит вам заменить что-то или ничего по мере необходимости.

const t = 'abc';
const t1= 'xyz';
temp = [ {key: "abc", value: "Value1"}]
const result = temp.find( check => check.key === t1 ) || {value:'Not Found!'};
console.log(result.value);
1 голос
/ 09 июня 2019

Если вы хотите, чтобы он выдавал ошибку, возвращал неопределенное значение, возвращал значение по умолчанию или что-то еще, вы можете проверить неопределенность следующим образом:

x = list.find(logic)
if(x){
    //carry on as normal     
else{
    //handle it not being found
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...