.filter не ошибка функции?

Если вы имеете дело с многоиндексным фреймворком данных, вам может быть интересно извлечь только столбец одного имени мультииндекса. Вы можете сделать это как

df.index.get_level_values('name_sub_index')

, и, конечно, name_sub_index должен быть элементом FrozenList df.index.names

-1
задан daggett 13 July 2018 в 11:35
поделиться

4 ответа

Вы должны использовать такой массив:

function sumTwoSmallestNumbers(numbers) {
  const filter = numbers.filter(x => x > -1).sort((a, b) => a - b);
  return filter[0] + filter[1];
}

console.log(sumTwoSmallestNumbers([544, 32654, 34297, 9237, 343, 98])); // 441

1
ответ дан Giannis Mp 17 August 2018 в 13:03
поделиться
  • 1
    Христиан, это смущает! Я был настолько сосредоточен на функциях, которые я полностью пропустил ... – daggett 13 July 2018 в 11:40

В JavaScript filter - метод, реализованный в массиве. Вы должны передать параметр (numbers) в виде массива:

function sumTwoSmallestNumbers(numbers) {
  const filter = numbers.filter(x => x > -1).sort((a, b) => a - b);
  return filter[0] + filter[1];
}

console.log(sumTwoSmallestNumbers([544, 32654, 34297, 9237, 343, 98])); 

1
ответ дан Mamun 17 August 2018 в 13:03
поделиться

Используйте Параметры останова для представления неопределенного числа аргументов в качестве массива.

function sumTwoSmallestNumbers(...numbers) {
  const filter = numbers.filter(x => x > -1).sort((a, b) => a - b);
  return filter[0] + filter[1];
}

console.log(sumTwoSmallestNumbers(544, 32654, 34297, 9237, 343, 98));

1
ответ дан Nikhil Aggarwal 17 August 2018 в 13:03
поделиться
  • 1
    Это тоже работает, но моя ошибка не помещала квадратные скобки вокруг моего массива! – daggett 13 July 2018 в 11:42
  • 2
    @daggett - Хорошо. Однако в будущем вы также можете попробовать это значение, поскольку оно не потребует скобок :) – Nikhil Aggarwal 13 July 2018 в 11:43

Вам нужно передать массив, например

function sumTwoSmallestNumbers(numbers) {
  const filter = numbers.filter(x => x > -1)
  filter.sort((a, b) => a - b);
  return filter[0] + filter[1];
}

console.log(sumTwoSmallestNumbers([544, 32654, 34297, 9237, 343, 98])); // 441

Или в ES6 вы можете использовать оператор spread, например,

    function sumTwoSmallestNumbers(...numbers) {
      const filter = numbers.filter(x => x > -1)
      filter.sort((a, b) => a - b);
      return filter[0] + filter[1];
    }

    console.log(sumTwoSmallestNumbers(544, 32654, 34297, 9237, 343, 98)); // 441

1
ответ дан vibhor1997a 17 August 2018 в 13:03
поделиться
Другие вопросы по тегам:

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