JavaScript проверить наличие ключа в массиве

151
19 июля 2021, 20:30

я создаю массив данным кодом

        function (geocode) {
            if (geocode.status == 'OK') {
                console.log(geocode.results[0].address_components);
                for(var i = 0; i < geocode.results[0].address_components.length ; i++) {
                     arrayAddressData[geocode.results[0].address_components[i].types[0]] = geocode.results[0].address_components[i].short_name;
                }
                console.log(arrayAddressData);
            } else {
                console.log('else');
            }
        }

в итоге я получаю такой массив

administrative_area_level_1: "MA"
administrative_area_level_2: "Suffolk County"
country: "US"
locality: "Boston"
neighborhood: "Dorchester"
postal_code: "02124"
postal_code_suffix: "2111"
route: "Alpha Rd"
street_number: "11"

Мне нужно проверить, есть ли в данном массиве ключи такие как route, street_number, route,postal_code, и если есть проверить, включают ли они в себя value, или нет.

Как это можно сделать без цыкла. Спасибо

Answer 1

Это, наверное, всё-таки объект, а не массив?

const loc = { 
  administrative_area_level_1: "MA", 
  administrative_area_level_2: "Suffolk County", 
  country: "US", 
  locality: "Boston", 
  neighborhood: "Dorchester", 
  postal_code: "02124", 
  postal_code_suffix: "2111", 
  route: "Alpha Rd", 
  street_number: "11" 
} 
 
const checkKey = (key, value) => { 
  if (key in loc) { 
    if (loc[key].indexOf(value) !== -1) { 
      return `ключ "${key}" содержит значение "${value}"`; 
    } 
    return `ключ "${key}" не содержит значение "${value}"`; 
  } 
  return `ключа "${key}" не существует`; 
} 
 
console.log(checkKey('выв', 'dsds')); 
console.log(checkKey('route', 'sdsds')); 
console.log(checkKey('postal_code', '02124'));

READ ALSO
Как обратиться к элементу объекта в nodejs?

Как обратиться к элементу объекта в nodejs?

После запроса к базе я получаю объект [ RowDataPacket { id: 1, login: 'Uri', password: '9696GORYACHEV' } ] как вывести просто id? Пробовал i[id]/i['id'] - не выводит Пробую

226
Пропал InternalToponymInfo

Пропал InternalToponymInfo

Хотел бы уточнить следующий вопросВчера столкнулся с тем, что геокодер в ответе больше не возвращает поле InternalToponymInfo (расположение поля в ответе...

139