Как определить, содержит ли массив Javascript объект с атрибутом, равным заданному значению?

Я обнаружил, что у других ответов были проблемы:

  • Они не применялись к сеансам.
  • Они не сохраняли и не загружали должным образом. Было потеряно только имя и значение файла cookie, дата истечения срока действия, имя домена и т. Д.

Этот ответ устраняет эти два вопроса:

import requests.cookies

def save_cookies(session, filename):
    if not os.path.isdir(os.path.dirname(filename)):
        return False
    with open(filename, 'w') as f:
        f.truncate()
        pickle.dump(session.cookies._cookies, f)


def load_cookies(session, filename):
    if not os.path.isfile(filename):
        return False

    with open(filename) as f:
        cookies = pickle.load(f)
        if cookies:
            jar = requests.cookies.RequestsCookieJar()
            jar._cookies = cookies
            session.cookies = jar
        else:
            return False

Затем просто вызовите save_cookies(session, filename) для сохранения или load_cookies(session, filename) для загрузки. Просто как это.

479
задан Fap Master 20 March 2019 в 20:22
поделиться

2 ответа

Может быть слишком поздним, но массив JavaScript имеет every метод, который возвращает булевскую переменную.

vendors.every( vendor => vendor['Name'] !== 'Magenic' )
1
ответ дан 22 November 2019 в 22:24
поделиться
const a = [{one:2},{two:2},{two:4}]
const b = a.filter(val => "two" in val).length;
if (b) {
   ...
}
0
ответ дан 22 November 2019 в 22:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: