Не понимаю ошибку, которую я получаю в моем массиве

Попробуйте изменить {% assign variable = site.variables | where "someval", "true" %} на {% assign variable = site.variables | where: "someval", "true" %}.

Кроме того, это не похоже, что variable является опцией в соответствии с docs . Если вы хотите передать больше информации, вам нужно использовать что-то вроде site.data или информации, определенной в вашем инициализаторе jekyll (обычно называемом _config.yml).

0
задан Steven Ossorio 18 January 2019 в 22:25
поделиться

1 ответ

Ваша функция не работает правильно, когда пара чисел включает первый элемент массива. Вы используете:

if ($collection[$subtracted])

, чтобы проверить, является ли $subtracted ключом массива. Но если значение $collection[$subtracted] равно 0, это также не пройдёт тест if. Измените это на:

if (isset($collection[$subtracted]))

Вы также должны добавить:

return array();

после цикла for, чтобы он возвращал пустой массив по умолчанию, если не найдено соответствующих элементов.

function twoSum($nums, $target) {
    $collection = array();

    foreach($nums as $key => $num) {
        $subtracted = $target - $num;

        if (isset($collection[$subtracted])) {
            return array($collection[$subtracted], $key);  
        } else {
            $collection[$num] = $key;
        }
    }

    return array();
}
0
ответ дан Barmar 18 January 2019 в 22:25
поделиться
Другие вопросы по тегам:

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